Я получаю эту ошибку при запросе LINQ, используя две таблицы из двух разных файлов edmx. Запрос выполняется, как, Просто я хочу имя отдела и обозначения, который соответствует с идентификатором, а пользователь, имеющим этот отдел и назначение в usermaster стола, а также Routemaster также Где как UID = Локальные переменный, имеющее значение сессииСложный запрос ссылки на запрос LINQ
var qryRoute = (from rm in db.RouteMasters
from um in db.UserMasters
from dm in db.DeptMasters
from desgm in db2.DESG_MASTER
where um.UserID == uid
&& rm.UnitID == um.UnitID
&& rm.ForDept == um.DeptID
&& rm.ReqDept == dm.DeptID
&& rm.ReqDesg == desgm.ID
&& rm.RouteType == "General"
&& rm.IsActive == 1
select new
{
rm.RouteID,
rm.UnitID,
rm.ForDept,
rm.RouteType,
rm.ReqDept,
rm.ReqDesg,
dm.Department,
desgm.DESG_ID,
rm.Seq,
rm.IsActive
});
RouteMaster RM;
foreach (var i in qryRoute)
{
RM = new RouteMaster();
RM.RouteID = i.RouteID;
RM.UnitID = i.UnitID;
RM.ForDept = i.ForDept;
RM.RouteType = i.RouteType;
RM.ReqDept = i.ReqDept;
RM.ReqDesg = i.ReqDesg;
RM.ReqDeptName = i.Department;
RM.ReqDesgName = i.DESG_ID;
RM.Seq = i.Seq;
RM.IsActive = i.IsActive;
obj.RouteList.Add(RM);
}
db и db2 являются экземплярами для двух разных файлов edmx.
Показаны ошибки: Указанное выражение LINQ содержит ссылки на запросы, связанные с различными контекстами.
Любые идеи для решения этой проблемы?
Ошибка выхода для меня ясно: Вы не можете создавать запросы, как это с помощью двух контекстов , Либо получите данные отдельно, либо создайте соединение в памяти или создайте контекст, в котором живут все связанные модели. –
Я использовал в другом запросе, когда я присоединяюсь к двум таблицам, я не получал и ошибки там, но, присоединившись к 4 таблицам, он показывает ошибку, не нашел ли ошибки в соединении таблиц? @PeterBons –
Возможно, вы выполнили запросы сначала в другом сценарии. Можете ли вы опубликовать этот другой запрос? –