2
我正在使用代碼優先的方法。我創建了我自己的用戶模型和成員資格提供者。我的模型有以下一些領域:從數據庫中「隱藏」列,但不在實體框架中查看
[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; }
}
的問題是,我沒有在我的數據庫ConfirmPassword
柱(原因很明顯)。我如何從數據庫中「隱藏」它,但允許視圖能夠看到它的使用。將其更改爲private
會將其從數據庫中隱藏起來,但該視圖不像那樣。
如何讓實體框架忽略此字段?
雖然這確實起作用......它並沒有在執行中。數據模型仍然試圖驗證這兩個字段(即使在我加密密碼後)。我結束了兩個模型。一個用於DB,一個用於視圖。 – 2012-03-15 18:30:27
如果您在EF和UI之間共享模型,則必須關閉EF中的驗證。 – 2012-03-15 19:01:18