2
這應該是一個簡單的聯合查詢,但即使動作類型是相同的它扔我一個錯誤:EF聯盟問題「不能轉換<AnonymusType#1至AnonymusType#2>
Instance argument: cannot convert from
System.Linq.IQueryable<AnonymousType#1>
toSystem.Linq.ParallelQuery<AnonymousType#2>
如果我刪除此列則是工作的罰款。在第一選擇我要行動賦值爲「0」。任何幫助表示讚賞。謝謝
(from p in Pages join pa in PageAct on p.PageId equals pa.PageId
select new
{
PageId = p.PageId,
PgName = p.PgName,
ActionId = pa.ActionId,
ActionName = pa.ActionName,
**action = 0**
}).Union(from p in Pages
join pa in PageAct on p.PageId equals pa.PageId
join rp in RolePerm on pa.ActionId equals rp.ActionId into jrs
from jrResult in jrs.DefaultIfEmpty()
where jrResult.RoleId == 1
select new
{
PageId = p.PageId,
PgName = p.PgName,
ActionId = pa.ActionId,
ActionName = pa.ActionName,
action = jrResult.ActionId
})
請出示你在那裏實際使用的查詢的執行它 –
jrResult.ActionId可以爲空,所以要做到這一點的唯一方法是投給一個可空INT在第一匿名對象'動作=(INT? )0',如果jrResult.ActionId是一個非空類型,那麼我建議在這裏做同樣的事情'action =(int?)jrResult.ActionId' – Silvermind
我正在使用LinqPad –