Я написал два запроса LINQ, используя метод join. По сути, если я переключаю порядок объектов, которые нужно объединить, запрос больше не работает и выдает ошибку:
"Невозможно создать постоянное значение типа '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
является списком сущностей, полученных из моего контекста Entity Framework (UsersSiteRole), а repository.Child
также является IQueryable<Child>
из моего контекста EF.