1
我发现了一些看起来相似的问题,但不完全一样,所以我会为它做。结合了2个IQueryable结果
我使用EF检索2个表。这些表/实体没有真正的“是”关系。他们恰好有一些常用字段,我想在包含两个表格之间的组合的前N个条目的列表中公开。每一行都必须有某种方式来识别它是哪种类型以及它指向哪个实例。
我已经解决了这个问题,但我想我想知道是否有更好的方法。我的解决方案是创建一个视图模型类:
intenal class EntityAEntityBCombination
{
public int? EntityAID { get; set; }
public int? EntityBID { get; set; }
public string CommonProperty { get; set; }
}
然后我做了这一点:
var results = (
from a in EntityAList select new EntityAEntityBCombination
{ EntityAID = a.Id, EntityBID = null, CommonProperty = a.CommonProperty }
).Concat(
from b in EntityBList select new EntityAEntityBCombination
{ EntityAID = null, EntitiyBID = b.Id, CommonProperty = b.CommonProperty }
).Fetch(N)
它的工作原理,但似乎很脏。有什么建议么?
可以`EntityA`和`EntityB`没有使用相同的接口和那么你返回一个`List`它包含它们两个?对于我来说,看起来比给匿名类型更多的OOP。 –
Bazzz
2011-02-05 11:35:01
我认为一个界面是要走的路。 – carlsb3rg 2011-02-05 14:41:55