如果我在我的實體類中添加[Required]
然後不顯眼的驗證工作正常。客戶端驗證在MVC 3數據庫第一
[Required]
不加,我使用數據庫第一(*。EDMX)生成我的實體類。當我更新我的EDMX
如果我手動添加[必需]在我的實體的財產,像
[Required]
public int {get;set;}
[Required]
將刪除。
所以我的問題是我如何執行客戶端驗證,如果我首先在EF中使用數據庫。
如果我在我的實體類中添加[Required]
然後不顯眼的驗證工作正常。客戶端驗證在MVC 3數據庫第一
[Required]
不加,我使用數據庫第一(*。EDMX)生成我的實體類。當我更新我的EDMX
如果我手動添加[必需]在我的實體的財產,像
[Required]
public int {get;set;}
[Required]
將刪除。
所以我的問題是我如何執行客戶端驗證,如果我首先在EF中使用數據庫。
創建你的實體部分類,並使用MetadataType屬性。看下面的例子:
[MetadataType(typeof(MyEntity.Metadata))]
public partial class MyEntity
{
private sealed class Metadata
{
[Required(ErrorMessage = "* required")]
public string MyRequiredField { get; set; }
}
// Add other similar properties here...
}
這個類將不會受設計器生成代碼的更改影響。
這是ado.net團隊的問題。我想,當你首先使用數據庫EF時,你的域模型會繼承數據庫的約束,因爲數據庫設計是你的應用程序邏輯的主。
,使之清楚,這裏myEntity所是第一個生成的類數據庫,[這](http://www.elevenwinds.com/data-validation-in-asp-net-mvc-database-first)也幫我 – stom