私はEntity Framework 4.1(データベース "first old"など)を使い、ASP.NET MVCでPOCOを使用しています3ウェブアプリ。 Foo
テーブルの上にNULL可能int型に裏打ちされたFoo
とBar
間0..1の関係、 -EF 4.1 - 1つのエンティティを他の既存のエンティティと関連付けることができません(Nullable FK)
私は1を持っています。このような
マイPOCOのルック:
public class Foo
{
public Bar Bar { get; set;
}
public class Bar
{
public int BarId { get;set; }
}
は今、私はすでにシステムに存在するFoo
を持っていますが、BarId
はnullです。
これで、Foo
と既存のBar
を関連付けるようにしています。
これは私が持っているコードです:
var existingBar = _repo.GetBar(2);
var existingFoo = _repo.GetFoo(1);
existingFoo.Bar = existingBar;
しかし、舞台裏を、EFは新しいBar
を追加しています。どうして?
また、私はこの試みた:(再び、「新しい」バーを作成しようとしているので)
existingFoo.Bar = new Bar { BarId = 2 };
例えば「スタブ技術」が、空の列不満EFで結果を。
私はこれを前にやったことがあると確信しています - 私はちょうど私が "SPを使う"ではなくなってしまった解決策を望んでいます。
私が言及したように、私はPOCOを使用しているので、コントローラからDbContext
またはObjectContext
に直接アクセスすることはできません。
アドバイスはありますか?
Fooクラスに「BarID」が必要ですか? – Matthew
@Matthew - 質問にあるように、私は何もしていないのですか? – RPM1984
@Matthew - 実際には私はいない**私のFooクラスでそれを持っています。それは必要ありません。 – RPM1984