ホームページ > バックエンド開発 > C++ > 式ツリーを使用して LINQ で匿名型プロパティを動的に選択するにはどうすればよいですか?

式ツリーを使用して LINQ で匿名型プロパティを動的に選択するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-22 19:12:10
オリジナル
535 人が閲覧しました

How Can I Dynamically Select Anonymous Type Properties in LINQ Using Expression Trees?

式ツリーを使用して LINQ 匿名型属性を動的に選択する

式ツリーを使用して複雑な LINQ クエリを構築し、匿名型を動的に選択することができます。単一の属性を選択するクエリは簡単に生成できますが、匿名タイプで複数の属性を選択するには別のアプローチが必要です。

これを行うには、反射放出クラスとヘルパー クラスを使用して、実行時に匿名型を動的に定義できます。以下に例を示します:

SelectDynamic 拡張メソッド:

<code>public static IQueryable SelectDynamic(this IQueryable source, IEnumerable<string> fieldNames)
{
    ... // 实现细节
}</code>
ログイン後にコピー

LinqRuntimeTypeBuilder 補助クラス:

<code>public static class LinqRuntimeTypeBuilder
{
    ... // 实现细节
}</code>
ログイン後にコピー

このアプローチでは、Intellisense のサポートなしで複雑な動的選択を作成できます。これは、遅延バインドされたデータ コントロールに役立ちます。

次の例では、City が "London" である Countries エンティティから Name プロパティと Population プロパティを選択するクエリを生成します。

<code>var v = Countries.Where(c => c.City == "London")
    .SelectDynamic(new[] { "Name", "Population" });</code>
ログイン後にコピー

その結果、変数 v には、Name プロパティと Population プロパティを持つ動的タイプが含まれます。

以上が式ツリーを使用して LINQ で匿名型プロパティを動的に選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート