我有一個linq sql查詢,我必須執行union兩組記錄。 我沒有域的數目相等,因此增加了空所有使用UNION,INTERSECT或EXCEPT操作符組合的查詢必須在其目標列表中具有相同數量的表達式
如我的僞代碼
var Values=(from c in containers
some joins
select new PValues
{
regionid=r.regionid,
roomid=r.roomid,
floorid=r.floorid,
maxarea=r1.maxarea,
minarea=r1.minarea,
avgarea=r1.avgarea,
maxheight=r1.maxheight,
minheight=r1.minheight
})
.union
(from c in containers
some joins
select new PValues
{ regionid=j.regionid,
roomid=j.roomid,
floorid=j.floorid,
maxarea=null,
minarea=null,
avgarea=null,
maxheight=j1.maxheight,
minheight=j1.minheight
})
谷歌搜索幾個小時後,我才明白,這是錯誤的3.5框架。
現在我想檢索結果。 如何做到這一點 我試圖制定成兩個單獨的IQueryable
var a= first query
var b =second query
ilist result =a.union b
在相同的錯誤這也導致。
我應該如何預先形成
認爲這
感謝 喝罵
這爲我工作。 – andr111 2012-04-23 20:13:39
從我收集的信息來看,這個解決方法停止了.Net 4.0的工作,它現在優化了let語句。你可以做的一件事是對值進行某種操作,以防止它被優化掉。例如,只需將一個數字加上零或串聯一個字符串「」。 – 2014-05-03 21:36:43