【发布时间】:2012-11-15 17:43:47
【问题描述】:
我有一个包含几个复合外键的数据库。例如,这里是外键的生成脚本:
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 从该数据库生成模型。但是,复合外键的关联并没有与所有表和其他简单外键一起生成。
我该怎么做:
- 在后面的xml中手动创建这些复合外键 edmx(痛苦)
- 有实体框架正确生成这些外来 键,以便我拥有映射
谢谢!
【问题讨论】:
-
您具体如何生成实体?使用 edmx 编辑器?您是否使用自定义代码生成策略?
-
OrganizationID和Code是你ShiftLeaveCodes表的复合主键吗?如果不是(例如,如果它只是唯一索引)它将不起作用。 -
实体正在从数据库中生成,使用上下文菜单中的“从数据库更新模型”。
-
OrganizationID 和 Code 只是一个唯一索引,而不是主索引。为什么它们需要成为主索引?
-
我已经更新了数据库,使 OrganizationID 和 Code 列组成了一个复合主键。这样做时,我仍然无法让 EF 在表之间自动生成这些关联和导航属性。
标签: entity-framework entity-framework-5 composite-key ef-database-first