2011-05-11 109 views
3

注:我使用ASP.Net应用程序,而不是MVC [所以没有验证特性的支持]实体框架数据库首先POCO T4生成和验证

我使用的数据库第一种方法,然后生成使用POCO我的POCO类t4模板。我将生成的POCO类移入它自己的库(Domain.Model)中。

现在我想使用企业库5向POCO类注入验证。我该怎么做。我不想在UI中执行验证,但希望将使用Enterprise Library的验证属性添加到POCO类,而无需修改生成的POCO类。如果我修改它,那么每当我生成新的类时,我都会放弃所有的更改。所以想要在POCO类之外执行验证,但使用属性。

希望我不要求什么,这是不可能

+0

您可以使用Enterprise Library来引导类,然后使用自己的t4模板来添加验证并生成全新的类。比您删除旧的 – Stecya 2011-05-11 11:39:29

+0

@Stecya - 使用Enterprise Library生成类?你能指导更详细的步骤吗? – DotNetInfo 2011-05-11 11:41:59

+0

对不起,我的意思是生成使用POCO t4模板 – Stecya 2011-05-11 11:44:25

回答

1

在这种情况下,你必须要么使用POCO发电机放弃和手动创建类自己 - 它可以让你使用任何你想要的属性或您必须修改T4模板为你添加属性。要修改T4模板,您必须使用来自元数据的信息来设置正确的属性,或者您必须使用structural annotations并在以XML格式打开的EDMX中手动定义属性。我描述了结构注释here,但该示例与您的问题无关。

+0

感谢您的回复。是的,我是这么认为的。我不会选择修改t4模板的选项,并会手动创建类。我猜如果我只是将生成的POCO类复制到类库中,然后使用代码优先方法来生成DbContext(从DbContext代码生成器),或者只是从DbContext实现MyContext并创建DbSets,就是这样。我错过了什么?我看到你已经回答了很多EF问题,我可以从你那里得到最好的答案 – DotNetInfo 2011-05-11 23:55:34