当前位置:编程学习 > C#/ASP.NET >>

求linq写法


select * from t_users a left join t_users b on a.uid = b.uid
and a.uname != b.uname


求翻译成linq. --------------------编程问答-------------------- t_users.Select(x => t_users.Select(y => x.uid == y.uid && x.uname != y.uname)) --------------------编程问答--------------------
引用 1 楼 devmiao 的回复:
t_users.Select(x => t_users.Select(y => x.uid == y.uid && x.uname != y.uname))


可以帮我写个外连接的么? --------------------编程问答-------------------- http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b --------------------编程问答-------------------- 看最后一个例子 --------------------编程问答--------------------
引用 4 楼 sp1234 的回复:
看最后一个例子

谢谢你的回答。这个例子我看了,问题的关键是我不知道怎么写 not equals的外连接。也是就是 a.uname != b.uname 在外连接里应该怎么写 --------------------编程问答-------------------- != 这根本不是外连接。这就是普通的where条件。 --------------------编程问答--------------------
引用 6 楼 sp1234 的回复:
!= 这根本不是外连接。这就是普通的where条件。


客户需求确实没有把它写在where里。
我自己写了一个不知道对 不对。

 var queryResults = from a in t_users 
                               from c in t_users .Where(z => z.uid== a.uid&& z.uname!= a.uname).DefaultIfEmpty()
                               select new Users
                               {
                                   ID = a.uid,
                                   name = a.name
                                       };
--------------------编程问答-------------------- 只能用select+where,join不支持not equals --------------------编程问答-------------------- 除 --------------------编程问答--------------------  var queryResults = from a in t_users 
                    join c in t_users on a.uid equals into g
                    from k in g.DefaultIfEmpty().where(k=>k.name!=a.name)
                               select new {                               {
                                   ID = a.uid,
                                   name = a.name
                                       };
试试看吧  我没这么写过
补充:.NET技术 ,  LINQ
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,