動的なlinqを使用して、一部のユーザー要求を処理しています。設定方法は、データをVarデータに収集することです。
var data = Project.Model.Adhoc.GetData().AsQueryable();
これは基本的にビューからの選択*です
次に、そこから、ユーザーが選択したフィルター処理が必要なすべてのオプションをループします。
foreach (Filters filter in filters.OrderBy(x=>x.strOrderNumber))
{
いくつかのチェックと順列とともに、私はこれに取り掛かります
data = data.Where(filter.strFilter + FormatOperator(filter.strOperator) + "@0", filter.strValue).
Select(x => x).ToList().AsQueryable();
これはかなりうまく機能していますが、データソースが増え始めているので、私がやりたいのは次のようなものです。
data = data.select(get all items that were selected)
次に、チェックと順列を実行します。これにより、データソース全体ではなく、必要なものだけをプルできるようになります。これを実現するためにlinqを使用するC#の最良の方法は何ですか。
元。
datasource = {Name, Age, Race, Gender, Hair Color, Eye Color, height, weight, etc}
user selected = {Name, Age, Race, Gender}
そのデータソース全体に対してクエリを実行する代わりに、データソースをユーザーがすぐに持ち込んだものだけに制限したいので、それに基づいてデータソースとしてフィルタリングできます。