Entity framework 调整EF逆向工程生成的POCO

Entity framework 调整EF逆向工程生成的POCO,entity-framework,code-generation,asp.net-mvc-4,partial-classes,Entity Framework,Code Generation,Asp.net Mvc 4,Partial Classes,我正在通过EF Power Tools从数据库生成POCO,并准备开始调整和扩展它们 最初的问题(如何添加partials),但我想知道对于MVC4项目,提供的答案是否会改变 但这个答案特别适用于验证。我还需要调整生成的构造函数-类似于。My db schema实用工具构造我的用户对象,如下所示: public User() { this.Addresses = new List<Address>(); this.Emails = ne

我正在通过EF Power Tools从数据库生成POCO,并准备开始调整和扩展它们

最初的问题(如何添加partials),但我想知道对于MVC4项目,提供的答案是否会改变

但这个答案特别适用于验证。我还需要调整生成的构造函数-类似于。My db schema实用工具构造我的用户对象,如下所示:

    public User()
    {
        this.Addresses = new List<Address>();
        this.Emails = new List<Email>();
        this.Institutions = new List<Institution>();
        this.Orders = new List<Order>();
        this.Phones = new List<Phone>();
    }
公共用户()
{
this.Addresses=新列表();
this.Emails=新列表();
this.Institutions=新列表();
this.Orders=新列表();
this.Phones=新列表();
}
除了机构之外,这些都是正确的。一个用户可以有许多电话、电子邮件等。但只能属于一个机构

我认为没有办法重新连接这个构造函数,这样就不会创建机构列表。所以我要创建一个方法,添加一个'Institution'(单数)属性并分配Institutions.SingleOrDefault,也许还有一些标记/处理.Count>1

所以我的分部类上的构造函数的行为与生成的类上的相同?它在一个新的平台上运行

thx

后续回复:代码gen后面的FKs。我的机构可以有许多用户,并通过用户标识字段根据“PrimaryContact”返回到主要联系人

机构: 约束[FK_Institutions_Users]外键([idPrimaryContact])引用[dbo]。[Users]([ID])

用户:
约束[FK_Users_Institutions]外键([idUserInstitution])引用[dbo].[Institutions]([ID])

EF power tools正在创建此关系,因为数据库允许用户拥有多个机构。我假设这是因为您的机构表上有一个FK的UserId。如果这是一个真正的1:1或1:0.1关系,那么您可能应该更改数据库,以便用户表改为具有机构表的FK(如果可选,则可以为null)

如果这不是一个选项,那么还有其他一些方法可以做到这一点:

您是否需要能够以模板化的方式或仅在单个实体上执行此操作

如果需要重复执行此操作,可能需要尝试更改生成实体对象的TT文件。关于这个

无论哪种方式,您都可以这样修改您的项目:

 public virtual List<Institution> Institutions { get; set; }

public Institution Institution
{
    get { return Institutions.SingleOrDefault(); }
}
公共虚拟列表机构{get;set;}
事业单位
{
获取{return Institutions.SingleOrDefault();}
}

然后只需绑定到您创建的Institution属性。

+1用于指向T4模板主题的当前链接,以及特定于电动工具的链接。