6

Microsoft SQL Server 2008 R2Pageに という主キーで呼び出されるテーブルがありますIDNavigationcolumnという名前の別のテーブルがありますPageID。の列PageIDへの一意の外部キー参照です。これにより、とレコードの間に 1 対 1 の関係が作成されます。IDPageNavigationPage

データベースからモデルを生成すると、レコードPageのリストが含まれる1 対多の関係が作成されます。Navigation

これは、外部キーが含まれていることをエンティティ フレームワークが検出し、データベース内の列の一意性を無視しているだけですか?

PageIDの列の SQLNavigationは次のとおりです。

[PageID] INTEGER FOREIGN KEY REFERENCES [Page](ID) UNIQUE NOT NULL

IDの列の SQLPageは次のとおりです。

[ID] INTEGER PRIMARY KEY IDENTITY(0, 1) NOT NULL

これが私が最初に持っていた解決策であり、Ladislav が言及していたものです。

PageIDの列の SQLNavigationは次のとおりです。

[ID] INTEGER PRIMARY KEY FOREIGN KEY REFERENCES [Page](ID) NOT NULL
4

1 に答える 1

6

エンティティ フレームワークは一意のキーをまだサポートしていないため、この情報は実際には無視され、1 対多の関係がマップされます。EF で 1 対 1 の関係を使用する唯一の方法は、共有主キーを使用することです (ナビゲーションの ID はページの ID の FK になります)。

于 2012-04-08T07:44:19.927 に答える