2009-06-29 117 views
1

我知道LINQ沒有SQL IN子句,而是使用「contains」。我可以在LinqDataSource上使用它嗎?我想寫一個簡單的查詢,它與此類似: SELECT * FROM tableA WHERE tableA.requestType NOT IN(5,6,7,8)和 tableA.someBitField IS NULL。LinqDataSource查詢幫助

這可能使用LinqDataSource開箱即用嗎? 謝謝你的指點。

乾杯, 〜CK在聖地亞哥

回答

3

是的,很有可能。只需處理數據源上的選擇事件。 MSDN上的LinqDataSoruce類頁面已經包含了一個很好的示例。修改:

public partial class Default3 : System.Web.UI.Page 
{ 
    int[] validRequestTypes = { 5, 6, 7, 8 }; 

    protected void Page_Load(object sender, EventArgs e) 
    { 
    } 

    protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e) 
    { 
     using(var dc = new MyDataContext()) 
     { 
      var qry = from item in dc.tableAs 
         where validRequestTypes.contains(item.requestType) 
         && item.someBitField == null 
         select item; 
      e.Result = qry; 
     } 
    } 
} 
+1

非常感謝! – Hcabnettek 2009-07-15 14:52:06