Asp.net-Mvc

如何防止在數據庫優先模型中刪除 DataAnnotations 屬性

  • February 25, 2014

我有我的帶有實體框架的 asp.net mvc 3 應用程序,我使用 Database First 模型來設置它。

我的步驟如下: 1. 使用表格生成數據庫 2. 創建 ADO.NET 實體數據模型文件 (.edmx) 並導入表格 3. 在設計中我添加了程式碼生成項並使用 ADO.NET DbContext Generator 4. a與所有表格模型一起製作的 Model1.tt 支架

我已經編輯了模型並使用 DataAnnotations 屬性更新了它們(僅舉一個眾所周知的例子)

public class LogOnModel
{
   [Required]
   [Display(Name = "User name")]
   public string UserName { get; set; }

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

   [Display(Name = "Remember me?")]
   public bool RememberMe { get; set; }
}

現在,當我對數據庫進行更改並將其更新到 edmx 文件時,所有模型都將被覆蓋,並且 DataAnnotations 屬性將消失。

我的問題:我如何使用數據庫優先模型並仍然編輯模型以進行特定驗證,就像我可以自由地使用程式碼優先模型一樣?(請不要使用第三方工具解決方案)謝謝

您需要使用夥伴課程。請參閱我過時但仍然有用的文章http://msdn.microsoft.com/en-us/library/ee256141(v=vs.98).aspx

在您的 Views 中使用 ViewModels。這將使您的 EF 實體與您的 UI 邏輯分離。

引用自:https://stackoverflow.com/questions/9230198