2016-10-23 6 views
0

FKの関係では、どのクラスが「親」で、どの子が「子供」であるかを見つける方法はありますか?私はリフレクションを使って確実にそれを達成する方法を考えることはできませんし、文字列をパースすることなくメタデータでこれをどうやって行うのか分かりません。私は、 "親の"オブジェクトのタイプを返すものを探していますエンティティフレームワーク:外部キーの関係の側を決定する

答えて

1

Entity Framework Mapping Apiこれを行う方法の1つです。あなたがEFに対して直接必要なことを技術的に行うことは技術的には可能ですが、コードは悪夢です私は、EFに対して直接主キーを調べようとしているのを思い出しました。このライブラリは、あなたの人生をもっと楽にしてくれるでしょう。

唯一のことは、子関係、子どもの関係を得るために独自のロジックを実装する必要があります。

+0

Apiは便利で使いやすいですが、ベースからマッピングされたフィールドのみを検出します。 dsはEFによってクラスに追加されました。 fk関係の検出に不可欠なものです。 – Daedan

+0

はい、それは制限です。回避策として、linqを使用して、指定されたエンティティのプロパティをFKとして持つすべてのエンティティをクエリできます。実際には、そのエンティティに関連する子テーブルがあります.'.Db()。ここで(e => e.Fks.Any(f => f.FkTargetColumn.EntityMap == KeyEntity)) 'がハックです – OrdinaryOrange

関連する問題