【问题标题】:Entity Framework Database First POCO t4 generation and validationEntity Framework Database First POCO t4 生成和验证
【发布时间】:2011-05-11 11:34:25
【问题描述】:

注意:我使用的是 ASP.Net 应用程序而不是 MVC [因此不支持验证属性]

我使用 Database First 方法,然后使用 POCO t4 模板生成我的 POCO 类。我将生成的 POCO 类移到它自己的库 (Domain.Model) 中。

现在我想使用 Enterprise Library 5 向 POCO 类注入验证。我该怎么做。我不想在 UI 中执行验证,但想在不修改生成的 POCO 类的情况下将使用 Enterprise Library 的验证属性添加到 POCO 类。如果我修改它,那么每当我生成新类时,我都会丢失所有的更改。所以想在 POCO 类之外执行验证,但使用属性。

希望我不是在问一些不可能的事情

【问题讨论】:

  • 您可以使用 Enterprise Library 生成类,然后使用您自己的 t4 模板添加验证并生成全新的类。比你删除旧的
  • @Stecya - 使用企业库生成类?请您指导更详细的步骤吗?
  • 对不起,我的意思是使用 POCO t4 模板生成

标签: c# .net asp.net entity-framework t4


【解决方案1】:

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

【讨论】:

  • 感谢您的回复。是的,我是这么想的。我不会选择修改 t4 模板的选项,而是手动创建类。我想如果我只是将我现在拥有的生成的 POCO 类复制到类库中,然后使用 Code First 方法生成 DbContext(来自 DbContext 代码生成器)或者只是从 DbContext 实现 MyContext 并创建 DbSet,就是这样。我错过了什么吗?我看到你已经回答了很多 EF 问题,我可以从你那里得到最好的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-16
  • 1970-01-01
  • 2014-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多