我有一个包含相当多列的表。从数据库的角度来看,这对我来说不是问题(无论如何我同时需要所有这些信息),但我的实体有点太大了,所以我想在复杂类型中分组一些功能。问题是我还需要添加一些逻辑,因此我需要访问父实体来访问其他属性。
是否有可能传递父实体,即通过构造函数? 我正在使用Database First。 处理这个问题的最佳方法是什么?
示例:
Animal (Entity)
- Id
- AmountOfLegs
- Weight
- Height
- Looks (ComplexType)
- BaseColor
- HasTexture
- GetTextureUrl () => { return BaseUrl + Parent.Id + ".jpg"; } // Error: Parent not accessible
答案 0 :(得分:1)
使用Entity Framework Table Splitting功能正确设计:
http://msdn.microsoft.com/en-us/data/jj715645.aspx
您最终会为表格的不同部分设置不同的实体。那些将具有指向彼此的导航属性。