指定的 LINQ 表达式包含对与不同上下文关联的查询的引用。
来源:互联网 发布:csol买淘宝欢乐积分 编辑:程序博客网 时间:2024/04/29 11:32
错误方式:
public List<EventInfoDetail> DetailEventInfo()
{
List<EventInfoDetail> EventInfoDetailInfo = null;
using (StagingDBModelContainer container= new StagingDBModelContainer())
{
using (DWDevDBEntities DWEntities = new DWDevDBEntities())
{
List<EventInfoDetail> list = (from ei in DWEntities.EventInfo
where ei.DeletedDate == null
join dd in container.DataDictionary ei.EventNameID equals dd.PrimaryID into temp1
from ddtemp in temp1.DefaultIfEmpty()
join dp in DWEntities.DimPlaza on ei.PlazaCode equals dp.PlazaID into temp2
from dptemp in temp2.DefaultIfEmpty()
select new EventInfoDetail()
{
ID = ei.ID,
SequenceNumber = 0,
PlazaCode = ei.PlazaCode,
PlazaName = dptemp.PlazaName,
OperationName = dptemp.Owner,
ZoneName = dptemp.ZoneName,
StartDate = ei.StartDate,
EndDate = ei.EndDate,
EventNameID = ei.EventNameID,
EventName = ddtemp.Value,
Satus = ei.Satus,
CreatedUser = ei.CreatedUser,
CreatedDate = ei.CreatedDate,
ModifiedUser = ei.ModifiedUser,
ModifiedDate = ei.ModifiedDate,
DeletedUser = ei.DeletedUser,
DeletedDate = ei.DeletedDate
}).ToList();
if (list != null && list.Count() > 0)
{
EventInfoDetailInfo = list.ToList();
}
}
}
return EventInfoDetailInfo;
}
报错错误:指定的 LINQ 表达式包含对与不同上下文关联的查询的引用。
正确方式:
public List<EventInfoDetail> DetailEventInfo()
{
List<EventInfoDetail> EventInfoDetailInfo = null;
List<DataDictionary> DataDictionaryInfo = null;
using (StagingDBModelContainer container = new StagingDBModelContainer())
{
DataDictionaryInfo = (from dd in container.DataDictionary
where dd.DeletedDate == null && dd.Type == 8
select dd).ToList();
}
List<EventInfoDetail> list = null;
using (DWDevDBEntities DWEntities = new DWDevDBEntities())
{
list = (from ei in DWEntities.EventInfo
where ei.DeletedDate == null
join dp in DWEntities.DimPlaza on ei.PlazaCode equals dp.PlazaID into temp2
from dptemp in temp2.DefaultIfEmpty()
select new EventInfoDetail()
{
ID = ei.ID,
SequenceNumber = 0,
PlazaCode = ei.PlazaCode,
PlazaName = dptemp.PlazaName,
OperationName = dptemp.Owner,
ZoneName = dptemp.ZoneName,
StartDate = ei.StartDate,
EndDate = ei.EndDate,
EventNameID = ei.EventNameID,
EventName = null,
Satus = ei.Satus,
CreatedUser = ei.CreatedUser,
CreatedDate = ei.CreatedDate,
ModifiedUser = ei.ModifiedUser,
ModifiedDate = ei.ModifiedDate,
DeletedUser = ei.DeletedUser,
DeletedDate = ei.DeletedDate
}).ToList();
}
var query = (from l in list
join dd in DataDictionaryInfo on l.EventNameID equals dd.PrimaryID into temp1
from ddtemp in temp1.DefaultIfEmpty()
select new EventInfoDetail()
{
ID = l.ID,
SequenceNumber = 0,
PlazaCode = l.PlazaCode,
PlazaName = l.PlazaName,
OperationName = l.OperationName,
ZoneName = l.ZoneName,
StartDate = l.StartDate,
EndDate = l.EndDate,
EventNameID = l.EventNameID,
EventName = ddtemp.Value,
Satus = l.Satus,
CreatedUser = l.CreatedUser,
CreatedDate = l.CreatedDate,
ModifiedUser = l.ModifiedUser,
ModifiedDate = l.ModifiedDate,
DeletedUser = l.DeletedUser,
DeletedDate = l.DeletedDate
}).ToList();
if (query != null && query.Count() > 0)
{
EventInfoDetailInfo = query.ToList();
}
return EventInfoDetailInfo;
}
对于分库查询,解决思路是首先分别查询,再根据关联关系进行连接得到最终结果
- 指定的 LINQ 表达式包含对与不同上下文关联的查询的引用。
- 指定的 LINQ 表达式包含对与不同上下文关联的查询的引用
- 指定的 LINQ 表达式包含对与不同上下文关联的查询的引用。
- 指定的 LINQ 表达式包孕对与不同上下文关联的查询的引用
- Linq从两个edmx(两个数据库)中选取数据进行查找出现错误解决 (指定的 LINQ 表达式包含对与不同上下文关联的查询)
- LINQ:查询包含对不同数据上下文上所定义项的引用
- 查询包含对不同数据上下文上所定义项的引用。
- Linq的基本语法包含的8个上下文关键字
- 关于LINQ 查询是否包含的办法
- 学习笔记二--如何:查询包含一组指定单词的句子 (LINQ)
- LINQ与Lambda表达式的查询语句写法
- 不同数据源之间的LINQ查询
- Linq的模糊查询(包含精确模糊查询)
- (14)使用查询表达式的LINQ
- 第十五章 使用查询表达式的LINQ
- Linux下grep查询包含某个关键字的上下文信息
- ios CoreData框架的使用,对上下文数据的增删改查,表与表之间的关联,1对多,1对1,谓词查询,多表连接
- ios CoreData框架的使用,对上下文数据的增删改查,表与表之间的关联,1对多,1对1,谓词查询,多表连接
- JDBC的超时原理
- IOS的fat类型文件和thin类型文件的转换
- eclipse下配置 jsp Servlet
- 一个批处理使用MongDB就方便多了
- 互联网广告系统综述一生态圈
- 指定的 LINQ 表达式包含对与不同上下文关联的查询的引用。
- 简单的 C++ SOCKET编程 ---基于TCP/IP协议(转)
- 【读书笔记】大话设计模式—UML九种图
- img标签与文字对齐方式
- android studio 2.2使用cmake进行NDK编程
- http和tcp的区别
- 优雅降级和渐进增强的区别
- 停止Java线程,小心interrupt()方法
- 数据库统一使用Druid连接池