我正在创建一个通用表单(C#),可以接收任何 Linq 查询。在这个表单中,我想能够添加过滤器(WHERE 子句)。对于像“=”,“>”,“Like”等操作符,我可以像
考虑到这一点,应该有可能将 IN 子句的值放入字符串数组或其他简单的字符串列表中。然后将此列表与基本查询连接起来。但是,当基本查询可以是任何查询时,如何连接这两个呢?
例如: 假设我的基本查询是:
在表单中,我希望能够按照以下方式过滤HouseNr:Where HouseNr IN (1, 3, 5) 数字(1、3、5)可用于字符串数组(或任何其他字符串列表)。
知道基本查询可以是任何内容,我该如何实现这一点?
IQueryable.Where(someFieldname + "> @0", someCriteria)
这样做。但是,当我想要使用 T-sql 中的“IN”相等时,我完全迷失了方向。我搜索了很多小时,但找不到实现它的方法。考虑到这一点,应该有可能将 IN 子句的值放入字符串数组或其他简单的字符串列表中。然后将此列表与基本查询连接起来。但是,当基本查询可以是任何查询时,如何连接这两个呢?
例如: 假设我的基本查询是:
IQueryable<Object> q = from a in db.Adresses
select new { a.Street, a.HouseNr };
在表单中,我希望能够按照以下方式过滤HouseNr:Where HouseNr IN (1, 3, 5) 数字(1、3、5)可用于字符串数组(或任何其他字符串列表)。
知道基本查询可以是任何内容,我该如何实现这一点?
OR
语句列表,但这并不完全等同于IN
子句。 - Peter Majeed