我寫了兩個使用連接方法的LINQ查詢。從本質上講,如果我切換要加入的對象的順序,查詢不再起作用並拋出錯誤:爲什麼這個LINQ連接查詢工作,但這另一個沒有?
「無法創建類型爲'Domain.Entities.UsersSitesRole'的常量值只有基本類型('如Int32,String和Guid')在此上下文中受支持。「
var foo2 = //works
from p in privilegesForUser
join c in repository.Child on p.SiteId equals c.Child_SiteID
select new { ChildID = c.Child_ChildID, name = c.Child_FirstName, site = c.Child_SiteID, p.PrivilegeLevel };
var foo3 = //throws exception
from c in repository.Child
join p in privilegesForUser on c.Child_SiteID equals p.SiteId
select new { ChildID = c.Child_ChildID, name = c.Child_FirstName, site = c.Child_SiteID, p.PrivilegeLevel };
目的privilegesForUser
是從我的實體框架上下文(UsersSiteRole)衍生的實體的列表,並且repository.Child
是從我的EF上下文中IQueryable<Child>
爲好。
請同時顯示拋出的異常。 – Jethro
@Jethro:再次閱讀問題。 – BoltClock