私はLinq to Entitiesを使用しています。私はメインテーブル、従業員のセットアップにvendorIDという名前のフィールドを持っています。ベンダーIDは、ベンダーのテーブルへの外部キーです。Linq to Entities(EF):参加をせずにFKの値を取得する方法
今のところ、EmployeeオブジェクトはvendorIDを直接公開しません。代わりに、私はそれをこのようにアクセスすることができます。
var employee = (from e in context.Employees.Include("tbl_vendors")
where e.employeeID = 1
select e).FirstOrDefault();
//this gets the vendor ID
int vendorID = employee.tbl_vendors.vendorID;
だけで罰金とダンディですが、何も必要ありませんどこに参加強制されているので、それは、データベース上の余分な作業です。 tbl_vendorsテーブルへの参加を強制されることなく、そのキー値を取得する方法はありますか?
キーのインデックス位置ではなく名前で参照する方法はありませんか?新しいキーがテーブルに追加されると、インデックスが変更される可能性があるため、インデックスを使用するのは危険です。 – bugfixr
これはキーのインデックス位置ではなく、キー内の列のインデックス位置です。複合キーの可能性を考慮しています –
EntityKey.EntityKeyValuesを検索し、そのキーを保持するEntityKeyMember.Keyプロパティを調べることができますあなたが探しているキー値を見つけるために名前を入力してください。 –