1

誰も助けることができますか?linq2sqlで関係/外部キーを使用していますか?

私は私の予約(プリムキー)と保険(キー用)テーブルとの関係を作成し、linq2sqlにインポートし、私の自動的に作成されたC#ファイルをチェックして、十分に私はreservation.MyFieldNamesなどを持っています。私の関係ですが、予約です。保険私は保険のフィールド名を見ることができません - 私は何かが不足していますか?

GetInsurancesなどに電話する必要がありますか?私は何も見ていない..実際には、保険はLinq.entitysetタイプですか?また

私はIListのか何かから私の予約(いいと簡単だった)テーブルと、自動的に「注入」(多くのすなわち1)保険を作成するために期待していた。..

は、

このことはできません

本当にありがとうございました

ps私はT4 Toolboxを使って自動的に作成したC#dtoファイルを作成しましたが、これは何の違いもありません。私は各エンティティごとに別々のファイルを持っています。

答えて

4

"私には何も見えません"ということを100%確信していません。

ReservationsテーブルとInsuranceテーブルが「予約」を参照しているとします。これはどのような関係ですか? 1:1? 1:多くの?どのように周り? DBMLデザイナーの表面のスクリーンショットを投稿できますか? (www.tinypic.comにアップロードして、ここにあなたの質問にリンクとして画像を含めてください)?

"Reservations"クラスには、 "保険"(EntityRef<Insurance>)のインスタンスまたは "保険"オブジェクト(EntitySet<Insurance>)のリスト(EntitySet)が1つ含まれています。それらをコード内でナビゲートする。

string foo = myReservation.Insurance.CustomerName; // or whatever 

デザイナーの表面には表示されません。これはデザイン面にある別のクラスへのリンクです

同じことが他の方法で回避のために行く - 保険は正確に一つの予約に関連付けられている場合、あなたは何をする(コードで)ことができる必要があります:

string bar = myInsuranceObject.Reservation.MyFieldName1; // or whatever 

だから、その場合、あなたが私には非常に明確ではありません本当に言及しています - あなたの質問をもう少し精緻化してより明確にすることができますか?

NerdDinner sampleに基づいて、私は精緻化しようとします。 DBMLデザインサーフェイスをチェックアウト:

ここ

alt text http://i30.tinypic.com/2q21z6b.jpg

、あなたは、オブジェクト間で前後に移動するために使用されるプロパティのいずれかが表示されません。しかし、 "RSVP"クラスには "DinnerID"という外部キーがあり、それを "Dinner"クラスにリンクしていることがわかります。これは1:n関係です:1つのディナーにはn個のRSVPがあり、すべてのRSVPはちょうど1つのディナー用です。あなたのコードで

、あなたは今、これらの作成したプロパティを参照してください - 最初のRSVPクラスをチェックアウト: - 正確に一つの参照(リンク)

alt text http://i31.tinypic.com/fazaz5.jpg

をあなたはRSVPクラスがEntityRef<Dinner>を持っていることがわかりますDinner - このRSVPのための夕食。

一方、Dinnerクラスには、その夕食に出席するすべてのオタク計画のRSVPの全リストがあります!

alt text http://i29.tinypic.com/66yn9e.jpg

のでDinnerクラスでは、あなたはEntitySet<RSVP>持っている - あなたはDinnerクラスで作業しているとき、あなたがしてナビゲートすることができ、参加者のリスト全体を、。

これで少し明確になりますか?

マーク

+0

私の目を開けてくれてありがとう、私は今それを得たと思う!!ありがとう –

関連する問題