【问题标题】:Adding code to Entity Framework 4 generated POCOs将代码添加到 Entity Framework 4 生成的 POCO
【发布时间】:2012-01-18 12:21:40
【问题描述】:

从 EF 4 实体图开始并使用 T4 模板,可以创建可在域模型中使用的 POCO 类。生成的代码如下所示:

public partial class Product
{
    public virtual int Id
    {
        get;
        set;
    }

    public virtual string Name
    {
        get;
        set;
    }
   //and so on
}

是否有任何优雅的方法来添加我自己的代码来实现属性?例如,我想通过降低所有字符来实现名称设置器。我希望我的代码能够抵抗从 EF 图中重复生成 POCO 类。

这个要求有点类似于向 POCO 类添加验证代码。这个问题已经通过创建一个单独的验证类并通过MetadataType 属性链接到 POCO 来解决。从 EF 图中重复生成 POCO 不会覆盖单独的验证类。

谢谢,

卢锡安

【问题讨论】:

    标签: entity-framework poco business-logic domain-model


    【解决方案1】:

    不,没有简单的方法可以做到这一点。您不得触摸生成的代码,因为您的更改将在每次重新生成后被删除。你的选择是:

    • 自己编写实体,不要使用生成器 - 您将完全控制实体代码
    • 在生成器中修改 T4 模板以添加您的直接代码(这可能很难概括)或只是在 getter 和 setter 以及您的部分部分中添加对部分方法的调用(您还必须在生成器中声明这些方法)实体类实现你需要的部分方法。

    【讨论】:

    • 部分方法...几乎忘记它们。他们可能是方法。谢谢!
    猜你喜欢
    • 2011-11-16
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 2011-12-28
    • 1970-01-01
    相关资源
    最近更新 更多