c# LINQ 动态查询
时间: 2023-11-18 21:21:04 浏览: 175
在 C# 中使用 LINQ 进行动态查询,可以使用 `System.Linq.Dynamic` 库。这个库可以让我们在运行时动态构建 LINQ 查询表达式。下面是一个示例代码:
```csharp
using System.Linq.Dynamic;
string propertyName = "Name";
string propertyValue = "Tom";
var query = list.Where($"{propertyName} == @0", propertyValue);
```
在这个示例中,我们使用 `System.Linq.Dynamic` 库中的 `Where` 扩展方法来实现动态查询。我们首先定义了要查询的属性名和属性值,然后使用字符串插值语法将其拼接成一个字符串表达式。在字符串表达式中,我们使用 `@0` 来表示第一个参数(即 `propertyValue`)。最后,我们调用 `Where` 方法,并传入这个字符串表达式和属性值,即可完成动态查询。
需要注意的是,使用 `System.Linq.Dynamic` 库进行动态查询时,拼接的字符串表达式必须符合一定的语法规则,否则会抛出异常。具体的语法规则可以参考该库的文档。
希望这个答案能够解决您的问题。如果您有其他问题,可以继续提问。
阅读全文