带OR表达式的Lambda表达式

本文关键字:表达式 Lambda OR | 更新日期: 2023-09-27 18:00:49

我有一个从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"开头。这可能吗?

带OR表达式的Lambda表达式

我相信这就是您想要的:

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