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