我是Linq到Sql的新手,正在尝试在C#中执行以下操作。

我有一个表,它是键/值存储(对用户也有fk)。我想对键名称和值进行搜索(或)。在前端,我允许他们添加作为键名的“过滤器”,然后他们可以搜索值。因此他们可以搜索N个项目,其中N是过滤器的数量。

在普通sql中,N = 3,它看起来像下面的样子。 datakey和datavalue是表中的列(varchar(255))。

SELECT * from table
 where (datakey='option1' and datavalue='value1')
    or (datakey='option2' and datavalue='value2')
    or (datakey='option3' and datavalue='value3')

最佳答案

有一种叫做DynamicQuery的技术,它可以让您通过字符串建立LINQ表达式,这可能会有所帮助

09-25 20:56