Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何构建动态linq查询_Linq_Linq To Entities - Fatal编程技术网

如何构建动态linq查询

如何构建动态linq查询,linq,linq-to-entities,Linq,Linq To Entities,我试图找到构建动态linq查询和填充列表的最佳方法。用户将有大约五个不同的字段可供选择进行筛选。目前我有以下代码: List<TBLPROMOTION> promotionInfo = null; bool active = true; int storeId = 1 using (WSE webStoreContext = new WSE()) { promotionInfo =

我试图找到构建动态linq查询和填充列表的最佳方法。用户将有大约五个不同的字段可供选择进行筛选。目前我有以下代码:

   List<TBLPROMOTION> promotionInfo = null;

    bool active = true;
    int storeId = 1

            using (WSE webStoreContext = new WSE())
        {
            promotionInfo =
                webStoreContext.TBLPROMOTION.Include("TBLSTORE").Include("LKPROMOTIONTYPE")
                .Where("STORE_ID==" + storeId + " and IS_ACTIVE == " + active).ToList();
        }
List promotionInfo=null;
bool active=true;
int storeId=1
使用(WSE webStoreContext=new WSE())
{
促销信息=
webStoreContext.TBLPROMOTION.Include(“TBLSTORE”).Include(“LKPROMOTIONTYPE”)
.Where(“STORE_ID==”+storeId+”和IS_ACTIVE==“+ACTIVE”).ToList();
}
但是,此示例出错,因为它无法读取where子句中引用的字段。不知道为什么在其他地方看到这个例子并试图模仿它。我的问题是,有没有人有一个适合我的例子

提前感谢,,
比利

你可能在想。它将允许您动态构造查询。

使用动态查询是一种诱惑,因为它们使用更熟悉的SQL语法。我建议不要使用它们。使用它们时,可以使用Linq提供的类型安全和SQL注入攻击防护


几乎可以始终使用正常的Linq语法构造查询,而不使用动态组件。学习Linq是值得的。

下面的例子讲述了如何完成这项任务