我在一个dll中有一个edmx,并且需要在另一个dll中的edmx中有一个实体继承自第一个edmx中的实体。我曾尝试将第一个edmx的初始上下文与第二个edmx扩展,但没有成功。什么是完成这个最好的方法?实体框架中两个上下文之间的继承
2
A
回答
1
这是不可能的。一个EDMX =一个ObjectContext
,其中没有继承。我发现了一个special hack如何强制上下文来加载多个EDMX,但它们必须在同一个程序集中,并且它仅适用于交叉EDMX linq-to-entities查询。
我认为你必须在第二个EDMX中再次建模整个继承层次结构,并且为parent = parent实体重用相同的POCO类必须在两个EDMX中。查看这些关于使用多个型号的文章(part 1,part 2)。有可能从其他EDMX中的一个EDMX中重用CSDL类型来定义关联,但它不能用于继承,因为MSL中定义了不能重用的继承。
+0
我最终重新思考我的逻辑,所以这不再是一项要求。我希望这是可能的,希望Entity Framework将来能够做类似的事情。 – kroehre 2011-05-06 21:36:42
0
继承可能不是最好的解决方案。我会建议来自不同组件的依赖注入,例如:
public class CompositeObj
{
protected ObjectType1 obj1 { get; set; }
protected ObjectType2 obj2 { get; set; }
public CompositeObj(ObjectType1 obj1, ObjectType2 obj2)
{
this.obj1 = obj1;
this.obj2 = obj2;
}
public string Property1 { get { return this.obj1.Property1; } }
public string Property2 { get { return this.obj2.Property2; } }
pulbic string Property3 { get { return this.obj1.Property1 + this.obj2.Property2; } }
}
相关问题
- 1. 实体框架继承
- 2. 实体框架 - 继承
- 3. 实体框架4 - 继承
- 4. 实体框架 - 继承
- 5. 实体框架继承
- 6. 实体框架和继承
- 7. 实体框架继承InverseProperty
- 8. 实体框架自底向上继承
- 9. 实体框架中的复杂继承
- 10. 实体框架中的POCO继承
- 11. 实体框架中的接口继承
- 12. 实体框架4合并两个实体之间的更改
- 13. 实体框架中的继承 - 每个具体类的表?
- 14. 实体框架上下文
- 15. 实体框架上下文?
- 16. 实体框架中的POCO实体的继承4
- 17. 实体框架和继承过滤器
- 18. ADO .NET实体框架继承建模
- 19. 如何使用实体框架继承?
- 20. 实体框架 - 查询继承
- 21. 实体框架TPC多重继承
- 22. 实体框架和继承:NotSupportedException异常
- 23. 从SQL成员实体框架继承
- 24. 实体框架继承与表
- 25. 实体框架:ObjectContext和继承
- 26. 实体框架:继承与包括
- 27. 实体框架继承和持久列
- 28. 实体框架4.0和继承
- 29. 实体框架继承配置出错
- 30. 新实体继承中的实体框架问题
这可能有帮助:http://stackoverflow.com/questions/5558309/entity-framework-inserting-entity-with-multiple-models-and-databases/5598664#5598664 – 2011-05-07 00:38:40
我能够使用EF代码完成此操作首先和这:http://stackoverflow.com/questions/6300990/ef-ctp5-context-inheritance-across-multiple-assemblies – kroehre 2011-10-09 00:06:56
这是为什么downvoted? – kroehre 2011-10-10 14:47:47