在MVC 3环境中使用EF 4.1。我也在使用我用NUGET下载的POCO生成工具。
我正在寻找一种方法来“自定义”具有验证属性的POCO类,而不会在每次数据库更改时丢失这些更改(并执行重新同步)。
我尝试过创建抽象类并实例化一个继承的类,但是EF强迫我通过EDMX文件创建一个具体的类,这个后代类也成为一个生成的POCO,每次数据库同步都会“刷新”。
我注意到POCO是部分类,这意味着我可以在不同的文件中添加类的成员,但这种方法不允许我添加到现有成员。
虽然我明白我遇到的是数据库第一种方法的局限性,但我怀疑有一种方法可以改变/定制POCO,而不会因为每次重新刷新而丢失。
答案 0 :(得分:1)
您至少有两个选项:
Validate
方法。MetadataType
属性将验证属性移动到另一个类 with the same properties. 覆盖OnModelCreating
仅适用于代码,而不是模型/数据库中的选项。