具有OR表达式的Lambda表达式

时间:2015-07-02 18:26:51

标签: c# linq linq-to-sql linq-to-entities

我从ServiceStack调用DB.Select语句到一个工作正常的列表。它如下:

List<MyTable> MyData = new List<MyTable>();
MyData = Db.Select<MyClass>().Where(n => n.thisfield.StartsWith("d1")).ToList();  

我只是希望能够使用带有AND或OR的相同语句,所以它看起来有点像......

List<MyTable> MyData = new List<MyTable>();
MyData = Db.Select<MyClass>().Where((n => n.thisfield.StartsWith("d1")).ToList()  
                                       || n.thisfield.StartsWith("d2")).ToList());

但是我遇到了语法问题,我的目标是使用检查该字段是否在同一语句中以"D1""D2"开头。这可能吗?

1 个答案:

答案 0 :(得分:4)

我相信这就是你要找的东西:

List<MyClass> myData = Db.Select<MyClass>(q => 
   q.Where(n => n.thisfield.StartsWith("d1") || n.thisfield.StartsWith("d2"));