linq 两个表的关联 不等于

andy0618 2013-06-08 11:35:00
表A
CODE NAME
ZHANGSAN 张三
LISI 李四
WANGWU 王五

表B

ID ACODE VALUE
1 ZHANGSAN 10
2 WANGWU 9


我想取出A表里不在B表里的,所有记录
sql:select A.* FROM A,B where A.CODE!=B.ACODE

LINQ怎么写

...全文
935 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011111276 2014-05-28
  • 打赏
  • 举报
回复
请问一下整么打开下载之后的资源?谢谢
嘟嘟虫 2013-09-21
  • 打赏
  • 举报
回复
夜色镇歌 2013-07-10
  • 打赏
  • 举报
回复
引用 5 楼 Chinajiyong 的回复:
var query=db.A.Where(t=>!db.B.Select(x=>x.CODE.ToString()).Contains(t.CODE.ToString()));
~~
piaofengshunli 2013-07-01
  • 打赏
  • 举报
回复
from query in DB.A where !DB.B.Any(x=>x.CODE==x.CODE) select query
ws_hgo 2013-06-20
  • 打赏
  • 举报
回复
    class A
    {
        public string name { get; set; }
        public string code { get; set; }
        public static List<A> GenerateData()
        {
            return new List<A>()
            {
                 new A (){name ="ZHANGSAN",code ="张三"},
                 new A (){name ="LISI",code ="李四"},
                 new A (){name ="WANGWU",code ="王五"}
            };
        }
    }
    /*
     ID     ACODE       VALUE
 1     ZHANGSAN    10
 2     WANGWU      9
     */
    class B
    {
        public string acode { get; set; }
        public string value { get; set; }
        public static List<B> GenerateData()
        {
            return new List<B>()
            {
                 new B (){acode ="ZHANGSAN",value ="10"},
                 new B (){acode ="WANGWU",value ="9"}
            };
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<A> aList = A.GenerateData();
            List<B> bList = B.GenerateData();

            var exceptE = aList.Where(a => !bList.Select(b => b.acode).Contains(a.name));

            exceptE.ToList().ForEach(a => Console.WriteLine(a.name));       
        }
    }
EnForGrass 2013-06-08
  • 打赏
  • 举报
回复
引用 1 楼 Chinajiyong 的回复:
var b= (from b in db.B select b.CODE); var a = db.A.Where(a=> !a.CODE.Contains(b)).ToList();
var query=db.A.Where(t=>!db.B.Select(x=>x.CODE).Contains(t.CODE));
threenewbee 2013-06-08
  • 打赏
  • 举报
回复
a.Select(x => X.CODE).Except(b.Select(x => x.ACODE)).Select(x => a.Single(y => y.CODE == x))
EnForGrass 2013-06-08
  • 打赏
  • 举报
回复
var b= (from b in db.B select b.CODE); var a = db.A.Where(a=> !a.CODE.Contains(b)).ToList();
EnForGrass 2013-06-08
  • 打赏
  • 举报
回复
var query=db.A.Where(t=>!db.B.Select(x=>x.CODE.ToString()).Contains(t.CODE.ToString()));
andy0618 2013-06-08
  • 打赏
  • 举报
回复
如果CODE是INT类型的流水ID怎么写呢 INT型的没有Contains方法

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧