表a字段
userid  proid(fk)
表b字段
proid(pk)  proname
怎样写linq,能够查询出b的proid中不包含a的proid的集合?例如:
a:
userid  proid
 jack    aaa 
 tom     aaa
 leo     ccc
  b:
proid   proname
aaa      软件
bbb      硬件
ccc      主机
ddd      电源查询结果为:
proid   proname
  bbb     硬件
  ddd     电源

解决方案 »

  1.   


    var re = db.b.where(p=>p.a == null);         
      

  2.   


    感觉可以
    表b应该有个entityset<a>的属性
      

  3.   


    var tmp = db.b.Select(p=>p.proid).Distinct().ToList<string>();//string?int....
    var re = db.b.where(p=> ! tmp.Contains(p.proid));
      

  4.   

    var tmp = db.a.Select(p=>p.proid).Distinct().ToList<string>();//string?int....
    var re = db.b.where(p=> ! tmp.Contains(p.proid));
      

  5.   


    LINQ to Entities 不识别方法“Boolean Contains(System.String)”,因此该方法无法转换为存储表达式。