1

LINQ には SQL IN 句がなく、「contains」を使用していることはわかっています。これを LinqDataSource で使用できますか? これと同等の簡単なクエリを書きたいと思います: SELECT * FROM tableA WHERE tableA.requestType NOT IN (5,6,7,8) AND tableA.someBitField IS NULL.

これはすぐに使用できる LinqDataSource を使用して可能ですか? ご指摘ありがとうございます。

乾杯、サンディエゴで~ck

4

1 に答える 1

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;
        }
    }
}
于 2009-06-29T00:44:50.480 に答える