LINQ加入多个AND条件

时间:2013-11-01 07:32:42

标签: c# asp.net-mvc linq entity-framework linq-to-sql

我想在我的MVC应用程序中加入两个实体,通过LINQ连接进行数据处理。

为此,我试图编写像

这样的查询
from enumeration in db.Enumerations
join cust in db.Customers on ( enumeration.Value equals cust.lkpStatus &&       
enumeration.EnumerationTypeID.Contains('Cust')

但是我对这个查询有疑问,所以请给我一些建议。

4 个答案:

答案 0 :(得分:24)

加入应该是这样的:

var joinQuery =
from t1 in Table1
join t2 in Table2
  on new { t1.Column1, t1.Column2 } equals new { t2.Column1, t2.Column2 }
...

答案 1 :(得分:8)

试试这个解决方案:

from enumeration in db.Enumerations.Where(e => 
                                          e.EnumerationTypeID.Contains('Cust'))
join cust in db.Customers on enumeration.Value equals cust.lkpStatus
select enumeration;

答案 2 :(得分:3)

这一个?

var data =     from c in db.Enumerations
               from d in db.Customers
               where c.Value.Equals(d.lkpStatus)
               && c.EnumerationTypeID.Contains('Cust')
               select c;

答案 3 :(得分:0)

这有效

var data = from c in db.Enumerations from d in db.Customers where c.Value==d.lkpStatus && c.EnumerationTypeID.Contains('Cust') select c;