我正在研究一个MVC3项目我在SQL Server 2008上创建了我的数据库然后我使用实体数据模型添加它,现在我有.edmx我不想生成类的代码因为到现在为止它不稳定,除了进行验证之外,我觉得不需要这样做 我想知道是否有办法直接使用.edmx进行验证而不生成类的代码 需要服务器和客户端验证 干杯
答案 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生成的类的命名空间完全匹配,包括正确的大小写。