实体框架是否可以在主键和外键之间添加关联

Pur*_*ome 6 entity-framework foreign-keys associations entity-framework-4

我的EDMX上有以下实体: - 替代文字

这两个entites是由Update Model From Database生成的.

现在,请注意我的国家/地区如何拥有以下主键: -

名称IsoCode

这是因为Name和IsoCode在系统中每个国家都是独一无二的.

现在,与我的国家......它是相似的.主要关键是: -

名称CountryId

每个州的名称和国家都是唯一的.

现在,国家的外键是CountryId.这是sql: -

ALTER TABLE [dbo].[States]  WITH CHECK ADD 
        CONSTRAINT [FK_States_Countries] FOREIGN KEY([CountryId])
REFERENCES [dbo].[Countries] ([CountryId])
ON UPDATE CASCADE
GO

ALTER TABLE [dbo].[States] CHECK CONSTRAINT [FK_States_Countries]
GO
Run Code Online (Sandbox Code Playgroud)

非常简单的东西.

但是EntityFramework不喜欢它:(假设我需要将一些属性从State实体连接到实体中的两个主键属性Country.

是否可以在Country.CountryId < - > State.CountryId上添加Country和State之间的ASSOCIATION ...就像我在我的数据库中映射一样?

干杯;)

Ale*_*mes 10

在EF(3.5和4.0)中,FK必须指向主键.

但是你似乎试图指向候选键(即[国家].[CountryId]

我知道这是EF团队正在为下一个版本考虑的事情:)

希望这可以帮助

亚历克斯

  • 我查看了CTP5更改文档,但没有看到与此相关的任何内容.此功能是否仍在考虑中,或在管道中,还是......?这是映射遗留数据库的真正绊脚石. (4认同)