0

Linq to entities 構文で使用できる「IN」キーワードはありますか? 複数のアイテムが追加されるリストボックスがあります。これらのアイテムをdbで検索したい。私のクエリは次のようになります。

 var result = context.data_vault
                      .Where(d => d.STATE == lstStates.SelectedItem.Text).OrderBy(d=>d.dv_id)
                      .Skip(e.NewPageIndex * GridView1.PageSize)
                      .Take(GridView1.PageSize)
                      .ToList();

欲しいd => d.STATE == lstStates.Items。変更方法は?

4

3 に答える 3

1

コード:

string[] arr = listview.Items
                       .Cast<ListItem>()
                       .Select(i => i.Text) // or .Value
                       .ToArray();

db.Where(d => arr.Contains(d.STATE);

クエリに変換する必要があります。

... WHERE STATE IN ('your', 'array', 'items')
于 2012-06-08T17:20:44.833 に答える
0

これを試して:

var result = context.data_vault
                      .Where(d => lstStates.Items.Contains(d.STATE)).OrderBy(d=>d.dv_id)
                      .Skip(e.NewPageIndex * GridView1.PageSize)
                      .Take(GridView1.PageSize)
                      .ToList();

ここ、

lstStates is List<string>
于 2012-06-08T17:30:11.830 に答える
0

.Any()または.Contains()構文を試すことができます

次のような例:

select d from context.Data
Where ListofIdsFromUI.Any(d.Id)
select d
于 2012-06-08T17:47:47.503 に答える