我的linq为所有集合
返回所有重复的相同行在DB中运行SQL:
select top 20 * from t1
left join t2
on t1.sid= t2.sid
and t1.pid=t2.pid
where(t2.sid is null and t1.pid='r')
我可以得到20行不同的结果。
然后我写Linq:
Entities dbconn = new Entities();
List<t1> myResult = (
from t1Data in dbconn.t1
join t2Data in dbconn.t2
on new { sid = (int)t1.sid, pid= t1.pid}
equals new { sid= (int)t2.sid, pid= t2.pid}
into joinSet
from joinUnit in joinSet.DefaultIfEmpty()
where (joinUnit == null) && (t1.pid== "r")
select t1Data
).Take(20).ToList();
结果的所有行都是某一行。
答案 0 :(得分:1)
select t1Data
错误,因为t1Data
来自原始数据集。
而是选择加入的结果:select joinSet
。