2009-06-29 4 views
1

LINQにはSQL IN句がなく、 "contains"が使用されています。 LinqDataSourceでこれを使用できますか?私はこれに相当する簡単なクエリを書く: SELECT * FROM tableA where tableA.requestType NOT IN(5,6,7,8)AND tableA.someBitFieldはNULLです。LinqDataSourceクエリヘルプ

これはLinqDataSourceをそのまま使用することで可能ですか? ありがとうございます。サンディエゴの

乾杯、 〜ckを

答えて

3

はい、かなり可能。データソースでSelectingイベントを処理するだけです。 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

+0

ここをクリックしてください! :) – Randolpho

関連する問題