2011-08-10 19 views
0

私は、WebアプリケーションのいくつかのCRUDメソッドを開発中です。 SQL Server 2008でEntity Frameworkを使用しています。特に、相互参照テーブルを使用してリンクされた2つのテーブルがあります。これは、次の形式である:Entity Frameworkを使用して2つのテーブル間の関係を作成する

  • Tbl_Plan
    • PlanId
    • PlanNm
    • Active
  • Tbl_Person
    • PersonId
    • PersonNm
    • PersonData
  • 外部参照テーブルXref_PersonPlan
    • PersonId
    • PersonNm

今、私は私がリンクにしようとしている新しい計画を作成していたときに一緒に2人。私はどのようにか分からない。私はそれが関係を参照したり、それを作成することと関係があることを知っています。それは(SQL Serverで、すなわち私のサンプルエントリ)を作成したが、私は困惑していますどこの参照を作成することがあります一度私は、データがうまく引き出すことができるので、

テーブルは、正しく設定されています。

using (Entities context = new Entities()) 
{ 
// TblPlan plan has already been instantiated 
plan.TblPersons.Add(person); 

context.AddToTblPlans(plan); 

context.SaveChanges(); 

しかし、明らかに、.Add()は私が....助けを探しているものではありません:私は次のことを試してみましたか?

答えて

0

誰かがちょうど正しい方向に私を指摘しました。私は10分以上待つべきだった。私は.AttachToを()欠落していた - それはInvalidArgumentExceptionを投げていたので、私は、追加する前に、コンテキストへの参照を添付する必要がありました。

+0

それは今動作している、またはまだ問題がありますか? –

+0

私はそれを働かせている。確認していただきありがとうございます! – Cody

1

短い答えは、多対多の関係は、彼らがEntity Frameworkをし、他のORMにあるのと同じ方法をSQLにLINQでサポートされていない、とあなたが希望の動作を自分で実装する必要がありますということです。

thisの記事をご覧ください。それはあなたのために働くべきアプローチを記述します。

+0

私は申し訳ありませんが、私は、エンティティフレームワークを使用しています。私は愚かです - LINQ to SQLではありません。 – Cody

関連する問題