IncludableIQuerableを使用したオートマッパープロジェクション

モハメッド・エラシード・オスマン

AutoMapperを使用して、インクルードアイテムを含むデータベースエンティティを別のドメインエンティティに投影しようとしています

      IQueryable<DBTypeEntity> allItems = _dbContext.DBType.Include(e => e.A)
            .Include(e => e.B)
                .ThenInclude(e => e.C)
            .Include(e => e.D)
                .ThenInclude(ac => ac.E);

そして、プロジェクションを使用する

              var result = allItems.ProjectTo<DBTypeDomain>(_typeMapper.ConfigurationProvider);

これが私のマッピングです:

        CreateMap<DBTypeEntity, DBTypeDomain>()
            .ForMember(e => e.A, opt => opt.Ignore())
            .ForMember(e => e.B, opt => opt.MapFrom(e => e.B))
            .ForMember(e => e.C, opt => opt.MapFrom(e => e.C))
            .ForMember(e => e.E, opt => opt.MapFrom(e => e.E))
            .ForMember(e => e.F, opt => opt.ResolveUsing<FResolver, ICollection<AssociatedFEntity>>(e => e.AssociatedFs))
            .ForMember(e => e.G, opt => opt.MapFrom(e => e.G));

他のタイプは、特別なことは何もない、プロパティからプロパティへの直接のマッピングです。タイプマッパーに必要なすべてのプロファイルマッピングを設定しましたが、不可解な例外が発生します(これをクエリ可能な式に解決できません)。EF Core2.0とAutomapper6.2.2を使用しています

何か助けてください?

モハメッド・エラシード・オスマン

私はなんとか問題を修正することができました。(Automapper Docsのように)プロジェクションを使用する場合、インクルードは不要になりました。カスタムリゾルバーはセットからのselectステートメントに置き換えられ、カスタムリゾルバーはIQueryableのAutoMapperでのプロジェクションの使用を禁止していました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

EF6を使用したオートマッパープロジェクションとLINQクエリ

分類Dev

VisualStudioでプロジェクト全体またはソリューションのパラメーターを使用してプリプロセッサーマクロを定義するためのオプション

分類Dev

を使用したオートマッパープロジェクト

分類Dev

シェープファイルまたはジオパンダを使用してマスクされた南極大陸をプロットする

分類Dev

プロパティとしてSpringBeanを使用したガベージコレクションクリーンオブジェクト

分類Dev

WebApi プロジェクトの ViewModel または RequestModel と、オートマッパーを使用したマッピングの追加レイヤー

分類Dev

ResetPasswordのアラートのオプションテキスト-Swiftを使用したiOSプロジェクト

分類Dev

VanillaJSまたはLodashを使用してネストされたオブジェクトプロパティをオプションのチェーン/チェックを実装する方法

分類Dev

raw(...)を使用したSQLフォーマット/エスケープインジェクション

分類Dev

Neo4jClientを使用したオブジェクトリレーショナルマッピング

分類Dev

フローを使用したオブジェクトマップの検証

分類Dev

動的プロパティキーを使用してアプリケーションプロパティをオブジェクトにマップできません

分類Dev

オブジェクトのオプションのプロパティにアクセスするためのブラケット表記を使用したTypescript

分類Dev

セッション変数の使用中に非オブジェクトのプロパティ「ページ」を取得しようとしています

分類Dev

ASP.NET 5:マルチプロジェクトソリューションを使用したDockerビルド

分類Dev

プライマリ構成/インデックスプロジェクトを使用したソリューション編成

分類Dev

2.0をインストールした後、プロジェクトプロパティの[ターゲットフレームワーク]ドロップダウンに.NETCoreApp2.0オプションがありません

分類Dev

パターンGoogleマップオブジェクトを使用して分割されたJavascript文字列

分類Dev

ネストされたコレクション内のオブジェクトプロパティを、C#ドライバーを使用してMongoDB内のこのオブジェクトの別のプロパティで更新する

分類Dev

Xcode 7UIオートメーションを使用したオブジェクトのモック

分類Dev

パッケージマネージャー:ソリューション内の特定のプロジェクトにEnable-Migrationsを使用する

分類Dev

ValidationError:無効なオプションオブジェクト。コピープラグインは、APIスキーマと一致しないオプションオブジェクトを使用して初期化されました

分類Dev

Javascript-オプションの配列をループし、オブジェクトのプロパティ値がオプション配列のすべての値と一致したときにオブジェクトを返しますか?

分類Dev

.NETを介したRDBMS(SQL)へのイベントソーシングプロジェクションのパフォーマンスを向上させる

分類Dev

mapstructでビルダーを使用してオブジェクトを不変オブジェクトにマッピングする(不変アノテーションプロセッサを使用)

分類Dev

Conan C / C ++パッケージマネージャーを使用したプロジェクトの構築

分類Dev

コンパニオンオブジェクトを使用したケースクラスのマッピング

分類Dev

サードパーティのCOM(ActiveX)オブジェクトを使用するC#アプリケーションをデプロイすると、アプリケーションがクラッシュします

分類Dev

リフレクションを使用した類似オブジェクトのマッピング:オブジェクトがターゲットタイプと一致しません

Related 関連記事

  1. 1

    EF6を使用したオートマッパープロジェクションとLINQクエリ

  2. 2

    VisualStudioでプロジェクト全体またはソリューションのパラメーターを使用してプリプロセッサーマクロを定義するためのオプション

  3. 3

    を使用したオートマッパープロジェクト

  4. 4

    シェープファイルまたはジオパンダを使用してマスクされた南極大陸をプロットする

  5. 5

    プロパティとしてSpringBeanを使用したガベージコレクションクリーンオブジェクト

  6. 6

    WebApi プロジェクトの ViewModel または RequestModel と、オートマッパーを使用したマッピングの追加レイヤー

  7. 7

    ResetPasswordのアラートのオプションテキスト-Swiftを使用したiOSプロジェクト

  8. 8

    VanillaJSまたはLodashを使用してネストされたオブジェクトプロパティをオプションのチェーン/チェックを実装する方法

  9. 9

    raw(...)を使用したSQLフォーマット/エスケープインジェクション

  10. 10

    Neo4jClientを使用したオブジェクトリレーショナルマッピング

  11. 11

    フローを使用したオブジェクトマップの検証

  12. 12

    動的プロパティキーを使用してアプリケーションプロパティをオブジェクトにマップできません

  13. 13

    オブジェクトのオプションのプロパティにアクセスするためのブラケット表記を使用したTypescript

  14. 14

    セッション変数の使用中に非オブジェクトのプロパティ「ページ」を取得しようとしています

  15. 15

    ASP.NET 5:マルチプロジェクトソリューションを使用したDockerビルド

  16. 16

    プライマリ構成/インデックスプロジェクトを使用したソリューション編成

  17. 17

    2.0をインストールした後、プロジェクトプロパティの[ターゲットフレームワーク]ドロップダウンに.NETCoreApp2.0オプションがありません

  18. 18

    パターンGoogleマップオブジェクトを使用して分割されたJavascript文字列

  19. 19

    ネストされたコレクション内のオブジェクトプロパティを、C#ドライバーを使用してMongoDB内のこのオブジェクトの別のプロパティで更新する

  20. 20

    Xcode 7UIオートメーションを使用したオブジェクトのモック

  21. 21

    パッケージマネージャー:ソリューション内の特定のプロジェクトにEnable-Migrationsを使用する

  22. 22

    ValidationError:無効なオプションオブジェクト。コピープラグインは、APIスキーマと一致しないオプションオブジェクトを使用して初期化されました

  23. 23

    Javascript-オプションの配列をループし、オブジェクトのプロパティ値がオプション配列のすべての値と一致したときにオブジェクトを返しますか?

  24. 24

    .NETを介したRDBMS(SQL)へのイベントソーシングプロジェクションのパフォーマンスを向上させる

  25. 25

    mapstructでビルダーを使用してオブジェクトを不変オブジェクトにマッピングする(不変アノテーションプロセッサを使用)

  26. 26

    Conan C / C ++パッケージマネージャーを使用したプロジェクトの構築

  27. 27

    コンパニオンオブジェクトを使用したケースクラスのマッピング

  28. 28

    サードパーティのCOM(ActiveX)オブジェクトを使用するC#アプリケーションをデプロイすると、アプリケーションがクラッシュします

  29. 29

    リフレクションを使用した類似オブジェクトのマッピング:オブジェクトがターゲットタイプと一致しません

ホットタグ

アーカイブ