ホームページ >バックエンド開発 >C++ >動的 LINQ クエリは XML 構成から構築できますか?

動的 LINQ クエリは XML 構成から構築できますか?

DDD
DDDオリジナル
2024-12-28 19:01:091001ブラウズ

Can Dynamic LINQ Queries Be Built from XML Configuration?

XML 構成からの動的 LINQ クエリ

質問:

ソース コードを変更せずに LINQ クエリを動的に構築できますか?このシナリオでは、クエリ パラメータはデータベースに保存されている XML 設定から抽出されます。

例:

var result = from i in someObj
             where name = 'Bob'

動的クエリ生成:

答え:

式ツリーは、この動的クエリ生成のソリューションを提供します。コード例は次のとおりです。

var param = Expression.Parameter(typeof(SomeObject), "p");
var exp = Expression.Lambda<Func<SomeObject, bool>>(
    Expression.Equal(
        Expression.Property(param, "Name"),
        Expression.Constant("Bob")
    ),
    param
);
var query = someObj.Where(exp);

説明:

  • param は、SomeObject 型のパラメーターを定義します。
  • Expression.Lambda は、 LINQ クエリを表すラムダ式。
  • Expression.Equal SomeObject の Name プロパティを定数 Bob と比較します。
  • 最後に、someObj.Where(exp) が式を someObj コレクションに適用し、動的 ​​LINQ クエリが生成されます。

注: このアプローチはより複雑ですが、XML からの動的なクエリ構築が不可欠な状況に柔軟に対応します。構成。

以上が動的 LINQ クエリは XML 構成から構築できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。