【发布时间】:2014-07-03 14:18:10
【问题描述】:
我正在使用 EF6 进行 DB-First 生成的 DbContext 和 POCO 对象,并且遇到与许多其他问题相同的问题,即导航属性名称无助于描述与其他表的关系。
例如,如果一个人有一个家庭和工作地址,它将在对象中反映为
public class Person {
public virtual DbSet<Address> Address;
public virtual DbSet<Address> Address1;
}
这个问题在 EF5 上是正确的,但是工具和代码解决方案都不支持 EF6 生成的 t4 模板。 Improve navigation property names when reverse engineering a database
我可以用什么来替换上面的最简单的方法
public class Person {
public virtual DbSet<Address> Home;
public virtual DbSet<Address> Work;
}
并且能够在我需要从头开始时重新生成 edmx 文件(即通过 vs2013 GUI 手动修改 100 个表不是我想要的)。
我浏览了论坛并开始使用调试 T4 模板工具,但希望有比 DIY 更简单的方法。
【问题讨论】:
-
您是否同时使用:edmx 和 POCO 对象?
-
是的,据我所知,edmx 是用来创建 poco 对象的,所以我不明白如何才能拥有一个没有另一个?通过 vs 添加“ADO.Net 实体数据模型”并通过 edmx 和 POCO 对象为我创建 DbContext。
标签: c# entity-framework t4 dbcontext ef-database-first