sql与linq的查询问题,destinct的应用 2C

今天看到代码程序中有这么一段语句(已知userid=1,parentid=0):
[JAjax]
public List GetPurviewByPID(int pid)
{
var q = from o in DB.T_purview
join up in DB.T_userpurview on o.Purviewid equals up.Purviewid
where up.Isdel == false && up.Userid == 1
&& o.Isdel == false && o.Parentid == 0
select o;
return q.Distinct().ToList();
}
我自己翻译成sql语句在数据库中执行:
select distinct o.* from t_purview as o join t_userpurview as up
on(o.purviewid=up.purviewid)
where up.isdel=0 and o.isdel=0 and up.userid=1 and o.parentid=0

请问这样翻译哪里错了? 我写的sql语句在数据库中查出来的结果有11条数据,可是代码运行出来只有7条数据。

3个回答

只听说sql要翻译linq的,没听说反过来的。为什么呢?因为反过来,你执行下,直接能看linq对应的sql。

已解决,是我搞错了。麻烦大家了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问