2010-03-30 86 views
1

我想找到建立一個動態linq查詢和填充列表的最佳方法。用戶將有大約五個不同的領域,他們可以選擇過濾。目前我有以下代碼:如何建立一個動態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(); 
     } 

但是,此示例出錯,因爲它無法讀取where子句中引用的字段。不知道爲什麼只是看到這個例子在別的地方,並試圖模仿它。我的問題是沒有人有一個適合我的情況的例子嗎?

由於提前, 比利

回答

2

你可能在想的Dynamic LINQ。它將允許您動態構建查詢。

+1

這是確切的例子,不會爲我工作。 – 2010-03-30 18:56:42

0

有一種使用動態查詢的誘惑,他們使用更熟悉的SQL語法。我會建議使用它們。當你使用它們時,你可以使用Linq提供的類型安全和防範SQL注入攻擊。

幾乎可以使用普通的Linq語法構建查詢,而不使用動態組件。學習Linq是值得的。