通过edmx验证属性

Yas*_*tte 1 validation ado.net-entity-data-model edmx asp.net-mvc-3

我正在研究一个MVC3项目我在SQL Server 2008上创建了我的数据库,然后我使用实体数据模型添加它,现在我有.edmx我不想生成类的代码,因为到目前为止它还不稳定并且我觉得不需要这样做,除了进行验证我想知道是否有办法直接使用.edmx进行验证而不生成类的代码需要服务器和客户端验证干杯

lin*_*rro 6

你不能从edmx做到这一点.但是,您可以使用将元数据添加到edmx生成的类的类.

这会将包含类的元数据添加到由edmx生成的类中:

[MetadataTypeAttribute(typeof(CustomerMetadata))]
public partial class Customer
{
}
Run Code Online (Sandbox Code Playgroud)

然后你有了元数据类,它有元数据属性:

internal sealed class CustomerMetadata
{
    public int ID;

    [Required]
    [StringLength(60)]
    public string Name;
}
Run Code Online (Sandbox Code Playgroud)

编辑: EF将所有类生成为部分类.这意味着您可以将不同文件中的功能添加到同一个类中.我们使用此功能添加一个告诉.net的属性,即有一个具有元数据信息的类.在这种情况下,具有该类的元数据的Customer类是CustomerMetadata.

它具有您希望用元数据修饰的所有属性.在这种情况下,实际上并不需要ID.