0
是否有任何方式可以通過DataAnnotations(如Required,StringLength)在model.edmx中生成數據庫對象?從數據庫中的EF設計師與DataAnnotations
是否有任何方式可以通過DataAnnotations(如Required,StringLength)在model.edmx中生成數據庫對象?從數據庫中的EF設計師與DataAnnotations
當您對EF使用數據庫優先方法時,所有類都生成爲partial
類。這意味着您可以將定義分散在兩個或更多源文件中。 如果更改生成類,它將被覆蓋。
假設你有一個分部類的EF生成的用戶作爲
public partial class User
{
public string Username { get; set; }
public string Telphone { get; set; }
}
現在使用DataAnnotations
上的User
的屬性,你會在同一個命名空間創建具有相同名稱的新源文件,使使用MetadataType
屬性爲:
[MetadataType(typeof(UserMetaData))]
public partial class User
{
public string Username { get; set; }
public string Telphone { get; set; }
}
public class UserMetaData
{
[Required]
[Display(Name = "User name")]
public string Username { get; set; }
[DataType(DataType.PhoneNumber)]
[Display(Name = "Telephone number")]
public string Telephone { get; set; }
}
正如你可以看到我用MetadataType
在指定的元數據類與數據模型類相關聯的第二個例子屬性。
這是可能去使用t4模板生成它嗎? – AggieR
@AggieR你也可以看看** [this](https://t4metadatatemplate.codeplex.com/)** codeplex for t4模板項目 – Izzy