1

重複の可能性:
強く型付けされたEntity Framework Include()

さて、Includeを使用して関連オブジェクトをロードするように指示するエンティティフレームワーククエリがあります。

var employees = _entities.Employees.Include("Manager").ToList()

includeを使用することで、すべての従業員のマネージャーレコードに対してクエリを生成することを回避します(代わりに、クエリでフレンドリーなJOINが使用され、データベースが再び煩わされることはありません)。

しかし、マジックストリング「Manager」の使用は、特に、おそらくより原始的で、迅速で汚いLinq2SQLから来た後は、不安になります。コーディングの観点からは、それはロードされた銃のようなものであり、コンパイル時にキャッチされるべきであったランタイム例外をスローする準備ができています。また、リファクタリングに大きなダンパーをかけます。

これを回避するための組み込みのプロパティまたはメソッドはありますか?たとえばManager.EntityKeyPropertyName、静的な文字列プロパティとして表示されますが、これは私が望んでいるものではないようです。ハードコードされた定数のリストを手動でどこかに追加したくないのですが、裸のインテリセンスブラインドマジックストリングよりも優れています。

4

1 に答える 1

2

いいえ、EF 4 には組み込みの厳密な型指定されたバージョンはありません (EF 機能CTP4および CTP5 にあると思います)。私はこれを使用していますが、とても満足しています。

于 2011-01-19T13:18:05.210 に答える