使用linq sql对象匹配列表项的方法

时间:2012-03-22 17:33:59

标签: c# linq linq-to-sql

我有一个List,我想看看是否有任何这些字符串在使用linq to sql的单个sql记录的3个字段中的任何一个字段中。

   ListA<strings>;
   var found=db.People.Where(p=>p.field1 field 2 or field 3 is in ListA). Select this person

2 个答案:

答案 0 :(得分:2)

var found = db.People.Where(p=>ListA.Contains(p.field1) || ListA.Contains(p.field2) || ListA.Contains(p.field3));

答案 1 :(得分:1)

使用此代码:

ListA<strings>;
var found=db.People.Where(p=>
  ListA.Contains(p.field1) || ListaA.Contains(p.field2) 
  || ListaA.Contains(p.field3));

请注意,这将获取数据库中的所有记录并在应用程序端测试条件。

编辑:这只是其他答案的相同代码,但包含有关其工作原理的说明,因此我不删除它。 (由于@Adrian lftode评论而改变了)