数据库中的"隐藏"列,但不包括"实体框架中的查看"

Mik*_*lls 2 entity-framework-4.1

我使用的是代码优先方法.我创建了自己的用户模型和成员资格提供程序.我的模型有以下几个字段:

[Table("mytable")]
public class MyUser
{
    [Key]
    public int UserId { get; set; } // Auto generated

    [Required]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "Email address")]
    public string Email { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [DataType(DataType.Password)]
    [Display(Name = "Confirm password")]
    public string ConfirmPassword { get; set; }

    [Display(Name = "Your name/company name")] 
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

问题是ConfirmPassword我的数据库中没有列(原因很明显).如何从数据库中"隐藏"它,但允许视图能够看到它的用途.更改它以private将其隐藏在数据库中,但视图不喜欢它.

如何告诉Entity Framework忽略此字段?

Lad*_*nka 6

将您不想持久保存的列标记为具有[NotMapped]属性的数据库.

顺便说一句.这是典型的例子,你应该考虑页面的持久化实体和视图模型之间的差异=你应该考虑有两个不同的类.