というプライマリキーを持つPage
と呼ばれるテーブルがMicrosoft SQL Server 2008 R2にあります。私はNavigation
と呼ばれるテーブルPageID
を持っています。 PageID
はID
列の一意の外部キー参照で、Page
です。これにより、Navigation
とPage
レコードの間に1対1の関係が作成されます。データベースの最初のEntity Framework固有の外部キーを1対多のマッピング
データベースからモデルを生成するときには、Page
にNavigation
レコードのリストが含まれている1対多の関係が作成されます。
エンティティフレームワークは、外部キーが関与していることを検出し、データベースの列の一意性を無視するだけですか?
Navigation
でPageID
列のSQLは次のとおりです。
[PageID] INTEGER FOREIGN KEY REFERENCES [Page](ID) UNIQUE NOT NULL
Page
でID
列のSQLは次のとおりです。ここで
[ID] INTEGER PRIMARY KEY IDENTITY(0, 1) NOT NULL
は何ラディスラフである私は、もともと持っていたソリューションであり、言及していた。
Navigation
でPageID
列のSQLは:
[ID] INTEGER PRIMARY KEY FOREIGN KEY REFERENCES [Page](ID) NOT NULL
私は元々それを試みましたが、それは悪い設計の決定のようなものであると懸念していました。私たちはそれに戻りたいと思う。ユニークなキーを無視してEFで話しているMicrosoftのページへの参照がありますか? –
EFのユニークな制約についての[こちらはブログの投稿です](http://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-in-the-entity-framework.aspx)昨年。これは将来的にうまく実装できる機能のプレビューです。これは、今後の.NET 4.5/EF 5.0には含まれません。あなたが[Data UserVoice](http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/1050579-unique-constraint-ie-candidate-display.php)でEF投票にユニークな制約を設定したい場合は、キーサポート)。 –