通过edmx验证属性

时间:2012-03-13 10:03:49

标签: asp.net-mvc-3 validation ado.net-entity-data-model edmx

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

2 个答案:

答案 0 :(得分:6)

你不能从edmx那里做到。但是,您可以将类添加到edmx生成的类中。

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

生成的类中
[MetadataTypeAttribute(typeof(CustomerMetadata))]
public partial class Customer
{
}

然后您拥有具有元数据属性的元数据类:

internal sealed class CustomerMetadata
{
    public int ID;

    [Required]
    [StringLength(60)]
    public string Name;
}

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

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

答案 1 :(得分:0)

(我会将此作为评论添加,但我还没有足够的声望点) 确保部分类中的命名空间与EF生成的类的命名空间完全匹配,包括正确的大小写。