ホームページ >バックエンド開発 >C++ >LINQ クエリは再コンパイルせずに XML データから動的に生成できますか?

LINQ クエリは再コンパイルせずに XML データから動的に生成できますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-31 15:48:18786ブラウズ

Can LINQ Queries Be Dynamically Generated from XML Data Without Recompilation?

再コンパイルを行わずに LINQ クエリを動的に生成する

クエリ パラメーターが動的に更新される外部データから取得されるシナリオでは、LINQ クエリを生成する必要が生じます。ソースコードを再コンパイルする必要はありません。多数のプロパティを持つ SomeObject のようなオブジェクトを考えてみましょう。

データベースに保存されている XML 構造から条件を抽出することによって、新しい LINQ クエリを動的に作成することは可能ですか?

例:

var result = from i in someObj
             where 
             //XML requests Name = 'Bob'...so append this where clause
             name = 'Bob'

を使用したソリューション式ツリー

式ツリーを採用すると、実行可能なsolution:

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);

このアプローチはかなり複雑ですが、動的クエリ生成が必要な特定のシナリオでのソリューションを提供します。

以上がLINQ クエリは再コンパイルせずに XML データから動的に生成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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