IEntityObject EntityObj = SqlHelper.GetEntityObject();
COMMONEntities PubDb = (COMMONEntities)EntityObj.GetDataModel(SystemType.H0);
MZYSEntities MzDb = (MZYSEntities)EntityObj.GetDataModel(SystemType.HH);
var query = from q in MzDb.OUTP_JZJLK.Where("it.JLZT==true")
where q.GHRQ.StartsWith(_StrCxrq)
select q;
var wwwww = from a in query.ToList()
select a.PATID;
decimal[] ww = new decimal[wwwww.ToArray().Length];
ww = wwwww.ToArray();
var query1 = from a in query.ToList()
from b in PubDb.PUB_MZBRXXK
where ww.Contains(b.PATID)
select new{....}
问题:query里面有4000行数据,表PubDb.PUB_MZBRXXK里面有100W行数据,现在要在表PubDb.PUB_MZBRXXK中找出上述4000行数据的信息库。。
扔给数据库去执行,别在Linq中做。
表PubDb.PUB_MZBRXXK里面有100W行数据。。
100W行的数据如果还用LINQ做的话程序会非常慢的,建议还是写存储过程然后用过EF调用存储过程。
没必要所有东西都用ORM做,性能和效率上不可能并存的,有时候还是要取舍的
用SQL或存储过程去数据库查出自己想要的数据,不用的不查。
放在存储过程里吧,
用EF调用存储过程吧。