2011-11-16 20 views
0

私はAffiliatedProjectエンティティと0対1の関係でリンクされたプロジェクトエンティティを持っています。つまり、プロジェクトは他の多くのプロジェクトと提携することができます。複雑なタイプのオブジェクトをオブジェクトに追加 - よりリーンなデザインアドバイス?

Affiliated_Project 
------------------ 
PK: Affiliated_Project_Id; 
FK: Main_Project_Id 
FK: Sub_Project_Id 

私は1つのリンクに他のプロジェクトを検索することができ、サブフォームをロードするボタンでメインのプロジェクトを表示するフォームを持っている:私は、それは基本的にこのようになりますAffiliatedProjectテーブルにこれらの「関連」プロジェクトを保存しますメインプロジェクトに追加します。このフォームはProjectコレクションを検索します。リンクするプロジェクトを選択し、ユーザの際、私はそうのような新しいAffiliatedProjectオブジェクト作成しています:

private void AddProject(Project proj) // proj is the Project coming from the search form 
{ 
    AffiliatedProject proj = new AffiliatedProject 
    { 
     SubProject = new Project 
     { 
     ProjId = proj.ProjId , 
     ProjName = proj.ProjName , 
     ProjectType = new ProjectType 
     { 
      Code = proj.ProjectType.Code 
     } 
     }, 
    MainProject = SelectedProject; 
}; 

を私は設定サブプロジェクト= projのを試してみましたが、それは動作していないようでした。何故ですか?誰かが私にこの問題にもっと良く近づける方法について助言してもらえますか?

答えて

0

これをWCF DSの質問としてマークしているので、上記のコードはWCF DSクライアントからのものです。 WCF DS Clientのエンティティは自己トラッキングではないので、変更する必要があることをDataServiceContextに通知する必要があります。実際には、私はWCF DSを使用していますが、上記のスニペットは実際にその時点でWCF DSには関係していません。詳細については、これを参照してください(特にリレーションシップの作成と変更リンク)。http://msdn.microsoft.com/en-us/library/dd756361.aspx

+0

私はおそらくAddProject()のより良い名前を使用することができたかもしれませんが、基本的には、タイプの新しく受信したオブジェクトを取得し、タイプの別のオブジェクト、つまり同じタイプの別のインスタンスに割り当てたいだけです。 – user118190

+0

その場合、「動作していない」と理想的にはいくつかのタイプ(SubProjectプロパティのタイプなど)を投稿してください。 –

関連する問題