EF 5 コードファーストに関する簡単な質問です。実行時に、特定のエンティティに存在する外部キーのリストにアクセスするにはどうすればよいですか?
前もって感謝します
EF 5 コードファーストに関する簡単な質問です。実行時に、特定のエンティティに存在する外部キーのリストにアクセスするにはどうすればよいですか?
前もって感謝します
親エンティティの子コレクションを反復処理し、各子エンティティから id を保存できます。
ハックせずにこれを回避する適切な方法は、 Metadata Workspaceを使用することだと思います。
いくつかの簡単な指針:
ObjectContext
派生したインスタンスのプロパティを使用してDbContext
、ラップされたObjectContext
インスタンスを取得します。そこから、プロパティを使用してインスタンスMetadataWorkspace
を取得できます。MetadataWorkSpace
GetType
次に、メソッドのオーバーロードの 1 つ (たとえば) を調べてEdmType
、エンティティの を取得します。MetadataProperties
プロパティを使用して検索するだけです。MetadataProperty
内の各オブジェクトは、その値をReadOnlyMetadataCollection
調べることでフィルタリングできます。値は です。BuiltInTypeKind
BuiltInTypeKind.NavigationProperty
たとえば、何らかのEdmMember
方法でエンティティのオブジェクトのコレクションを取得Type
し、 GetType
. 可能なタイプの 1 つは ですNavigationProperty
。
免責事項: これはテストしていません。