複数の外部キー関係を持つ単一のロケーション テーブルがあります。これには、state テーブル、city テーブル、country テーブル、および user テーブルへの外部キーがあります。これで、テーブル モデルがエンティティ フレームワークに適切にマップされましたが、ロケーション テーブルの外部キー ID フィールドにアクセスして新しい外部キー マッピングを追加しようとすると、アクセスできず、代わりにStateReferenceなどの参照フィールドが取得されます。 .
今、entitykey.StateReference を使用してくださいという記事をいくつか見つけました。私はそれを試してみましたが、うまくいきますが、私には本当に不格好に思えます。私が気付いたのは、StateID の代わりに State フィールドも提供されていることです。そのため、州名を Location オブジェクトに渡すだけで、エンティティ フレームワークがほぼ自動的に関係を把握できると想定しています。これの適切な構文をどこでも見つけたり、見つけたりすることができません。
私がここの基地から離れている場合、誰かが正しい方向を指して私を修正してくれませんか? 私はしばらくこれにドキドキしていて、それを手に入れることができないようです. または、私が言っていることが正しい場合、誰かが構文を表示するための基本的なコードを教えてくれます。VS2010でWebサービスを作っているので、正しく理解すればef v1を使っています。以下は、私の場所オブジェクトのコードです。
using(Entities context = new Entities())
{
Location NewLocation = new Location
{
//In SQL all three of these field are acutally foreign key ids I am
trying to maintian
State = context.States.Where(i => i.State1.Equals(AddedState)),
Country = context.Countries.Where(i => i.State1.Equals(AddedCountry)),
City = context.Cities.Where(i => i.City1.Equals(AddedCity)),
}
};
context.AddToLocation(NewLocation);
context.SaveChanges();
}