10

いくつかの複合外部キーを含むデータベースがあります。たとえば、外部キーの生成スクリプトは次のとおりです。

ALTER TABLE [dbo].[WorkingRosters]  WITH NOCHECK ADD  CONSTRAINT
[FK_WorkingRoster_ShiftLeaveCode] FOREIGN KEY([OrganizationID], [ShiftLeaveCode])
REFERENCES [dbo].[ShiftLeaveCodes] ([OrganizationID], [Code])
GO

Entity Framework 5 Database-First を使用して、このデータベースからモデルを生成しようとしています。ただし、複合外部キーの関連付けは、すべてのテーブルおよびその他の単純な外部キーで生成されているわけではありません。

どうすればよいですか:

  1. edmx の背後にある xml にこれらの複合外部キーを手動で作成します (面倒)
  2. エンティティフレームワークにこれらの外部キーを適切に生成させて、マッピングを取得できるようにします

ありがとう!

4

2 に答える 2

0

私はEF6で同じ問題を抱えていました.Visual Studioの「データベースからモデルを更新する」は、一意のインデックスを持つ別のテーブルの列を参照したが、参照された複合主キーではなかった複合外部キーを認識しませんでしたテーブル。

参照先カラムを参照先テーブルの複合PKにして、「データベースからモデルを更新」をやり直したら、外部キーがナビゲーションプロパティとして認識されました。

つまり、参照列を PK にすることで、EF6 で問題が解決しました。

于 2021-01-19T15:14:20.853 に答える