Entity FrameworkCoreエンティティをSQL文字列に変換します

アンドレイ

Entity FrameworkCoreエンティティからSQLMERGEステートメントを生成しようとしています。そのためには、すべてのエンティティプロパティをSQL文字列に変換する必要があります。例:

bool   => 1 or 0
string => 'string'
int    => 123

EF CoreはValueConverterSelector、すべての異なる内部値コンバーターとカスタム値コンバーターのファクトリとしてクラス使用しているようです。私はそれを文脈から得る必要があります。どうすればいいですか?


更新: Ivan Stoevのおかげで、彼はconverterSelectorを取得するために次の方法を提案しました。

var converterSelector = context.GetInfrastructure().GetService<IValueConverterSelector>()
var converters = converterSelector.Select(entry.Metadata.ClrType, prop.Metadata.ClrType);
// Converters collection is empty ;(

私はそれに関して新しい問題に直面しています。プライベートフィールドを調べると、このセレクターにはコンバーターが登録されていないことがわかります。したがって、エンティティの各プロパティに適切なコンバーターを取得できません。EFが使用している正確なカスタムおよび組み込みコンバーターを備えたコンバーターセレクターが必要です。何か案は?

ここに画像の説明を入力してください

アンドレイ

Entity Frameworkを使用してプロパティのSQL値を取得するには、次のことを行う必要があります。

var entry = context.Entry(model);
var prop = entry.Properties.First(); // Let's say for the 1st one
var sqlValue = prop.Metadata
    .FindRelationalMapping()
    .GenerateProviderValueSqlLiteral(prop.CurrentValue);

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Entity FrameworkCoreのエンティティからDbContextを取得する

分類Dev

Entity FrameworkCoreの実行時にエンティティクラスを置換する

分類Dev

子エンティティをデータベースに追加し、データベースEntity FrameworkCoreの親オブジェクトに割り当てます。

分類Dev

Entity FrameworkCoreのリンクされたエンティティにLinqWhere句を適用できません

分類Dev

Entity FrameworkCore「エンティティタイプ「XXX」では主キーを定義する必要があります。」

分類Dev

Entity FrameworkCoreが1から0の外部キーエンティティをロードしていません

分類Dev

Entity FrameworkCoreでincludeを使用せずに関連エンティティをロードする

分類Dev

削除されたエンティティは、Entity FrameworkCoreのChangeTrackerで変更されたものとして表示されます

分類Dev

Entity FrameworkCoreの内部エンティティの結合と包含

分類Dev

Entity FrameworkCore-関連するエンティティのマッピングと保存を処理する方法

分類Dev

Entity FrameworkCoreでエンティティリレーションを設定する方法

分類Dev

Entity FrameworkCoreとCosmosDB。LINQ式を使用したエンティティの読み取り

分類Dev

Entity Framework Coreは、関連するエンティティなしでエンティティを取得します

分類Dev

Entity FrameworkCoreを使用してSQLServerに大きな文字列を格納するためのベストプラクティス

分類Dev

Entity Framework Code FirstMigrationでプロパティを新しいエンティティに移動します

分類Dev

Entity FrameworkCore保存された依存関係を持つエンティティを追加するとエラーがスローされます

分類Dev

Entity FrameworkCoreを使用したリレーションテーブルの変換

分類Dev

Entity FrameworkCoreが含まれていない関連エンティティの読み込みに熱心なのはなぜですか

分類Dev

Entity Framework 7のテーブルにエンティティをどのようにマップしますか?

分類Dev

Entity Framework Generic insertメソッドは、既存のエンティティを新しいエンティティと一緒に再度挿入しています

分類Dev

Entity FrameworkCoreの同じエンティティとの多対多の関係

分類Dev

Entity FrameworkCoreに子プロパティを含める

分類Dev

map <String、Entity>を追加するときに、制約違反がエンティティをマージします

分類Dev

Entity FrameworkCoreで単一のプロパティを更新する方法

分類Dev

Entity Framework Core は、更新する代わりに単一のエンティティを保存します

分類Dev

Entity FrameworkCoreがNavigationプロパティをnullに設定してインクルードが機能しない

分類Dev

Entity FrameworkCore-「__ EFMigrationsHistory」テーブルのスキーマを変更します

分類Dev

Entity Framework6で子エンティティを削除中にエラーが発生しました

分類Dev

Entity Frameworkのコンテキストに対してエンティティを検証する方法は?

Related 関連記事

  1. 1

    Entity FrameworkCoreのエンティティからDbContextを取得する

  2. 2

    Entity FrameworkCoreの実行時にエンティティクラスを置換する

  3. 3

    子エンティティをデータベースに追加し、データベースEntity FrameworkCoreの親オブジェクトに割り当てます。

  4. 4

    Entity FrameworkCoreのリンクされたエンティティにLinqWhere句を適用できません

  5. 5

    Entity FrameworkCore「エンティティタイプ「XXX」では主キーを定義する必要があります。」

  6. 6

    Entity FrameworkCoreが1から0の外部キーエンティティをロードしていません

  7. 7

    Entity FrameworkCoreでincludeを使用せずに関連エンティティをロードする

  8. 8

    削除されたエンティティは、Entity FrameworkCoreのChangeTrackerで変更されたものとして表示されます

  9. 9

    Entity FrameworkCoreの内部エンティティの結合と包含

  10. 10

    Entity FrameworkCore-関連するエンティティのマッピングと保存を処理する方法

  11. 11

    Entity FrameworkCoreでエンティティリレーションを設定する方法

  12. 12

    Entity FrameworkCoreとCosmosDB。LINQ式を使用したエンティティの読み取り

  13. 13

    Entity Framework Coreは、関連するエンティティなしでエンティティを取得します

  14. 14

    Entity FrameworkCoreを使用してSQLServerに大きな文字列を格納するためのベストプラクティス

  15. 15

    Entity Framework Code FirstMigrationでプロパティを新しいエンティティに移動します

  16. 16

    Entity FrameworkCore保存された依存関係を持つエンティティを追加するとエラーがスローされます

  17. 17

    Entity FrameworkCoreを使用したリレーションテーブルの変換

  18. 18

    Entity FrameworkCoreが含まれていない関連エンティティの読み込みに熱心なのはなぜですか

  19. 19

    Entity Framework 7のテーブルにエンティティをどのようにマップしますか?

  20. 20

    Entity Framework Generic insertメソッドは、既存のエンティティを新しいエンティティと一緒に再度挿入しています

  21. 21

    Entity FrameworkCoreの同じエンティティとの多対多の関係

  22. 22

    Entity FrameworkCoreに子プロパティを含める

  23. 23

    map <String、Entity>を追加するときに、制約違反がエンティティをマージします

  24. 24

    Entity FrameworkCoreで単一のプロパティを更新する方法

  25. 25

    Entity Framework Core は、更新する代わりに単一のエンティティを保存します

  26. 26

    Entity FrameworkCoreがNavigationプロパティをnullに設定してインクルードが機能しない

  27. 27

    Entity FrameworkCore-「__ EFMigrationsHistory」テーブルのスキーマを変更します

  28. 28

    Entity Framework6で子エンティティを削除中にエラーが発生しました

  29. 29

    Entity Frameworkのコンテキストに対してエンティティを検証する方法は?

ホットタグ

アーカイブ