2009-07-28 11 views
1

エンティティデータモデルを使用していますが、問題があります。たとえば、CustomersというテーブルのcategoryId(テーブルカテゴリの外部キー)の場合、cutomersエンティティには表示されません。 この値を取得したり設定するにはどうすればよいですか?エンティティデータモデルの外部キー

答えて

1

Entity Frameworkは、実際のプロパティ自体をレンダリングしますが、タイプカテゴリのプロパティを作成します。 すなわち:

Customer.Category = new Category()

Entity Frameworkのは、内部での参照/外部キーを処理します。

+0

okですが、カテゴリテーブル(同じ表のcategoryidのparentId外部キー)に別の外部キー(カテゴリparentId)があります どうすればこのフィールドを取得できますか? –

1

Colinの答えは100%正確であり、現時点で入手可能なEntity Frameworkのリリース(.NET 3.5 SP1の場合)です。

将来リリース予定の.NET 4.0に同梱されるEF v2(またはEF 4 ??)については、EFチームが「外部キー関連」と呼ばれるものを追加しました。エッセンスでは、関連するエンティティ全体を作成/ロード/割り当てする代わりに、外部キー値(CategoryIDなど)を指定するだけで済みます。

は、これらの優れた記事で詳細を参照してください。

免責事項:この未リリースされた製品についてや配達とプレリリース情報があります正式に発表された日付 - 今のところBeta1をダウンロードできます。

マーク

+0

私はこのフィールドをどのように得ることができますか?しかし、私はカテゴリテーブル(同じテーブルのcategoryidからのparentId外部キー)に別の外部キー(カテゴリparentId)を持っていますか? –

+1

次に、Category.Category.Idを使用します(EF図を開き、カテゴリエンティティを選択します)。 – Colin

+0

@Wafaa:参照されるカテゴリのParentIDを取得する必要がある場合は、次に、カテゴリエンティティ全体をロードしてから、そのエンティティに「ParentID」カラムを設定する必要があります。 –

0

このようにすることはできませんか?

Customer.CategoryReference.EntityKey = Key; 
0

あなたが外部キーのクラスではない外部キーも自己への参照を見つけることができます .NET 3.5には、.NETフレームワーク4以下を使用する必要があり、外部キー、それが自己を表示したい場合

Store s = new Store(); 
       User u=s.User;//bring referance of the user with foreign key .net 3.5 & 4 
       int i = s.User_ID;//bring the user_id forein key .net 4