3

我需要使用无法更改的数据库中的表(使用链接服务器)。所以我的架构的一部分是这些表的视图,我无法在我的数据库中创建 FK。

当我在 ADO.NET Entity Framework 中创建关联时,我遇到了问题,因为来自外部 DB 的表上的第二列上有一个索引,而 EF 正在为它创建一个实体键(它是记录-我认为他们只是想加快订购速度)。

当我从 EF 实体中的该列中取出实体键时,它抱怨我需要它,因为基础表上有一个键。如果我把它留在里面,我不能把它映射到 EF 的表映射中的任何东西上。

请问有谁知道我应该怎么做?

4

1 回答 1

4

您必须编辑 XML 并从键中删除该列。在 <edmx:StorageModels> 部分(SSDL 内容)中找到 <EntityType> 标记。删除 <Key> 中实际上不是主键一部分的任何 <PropertyRef>。

完成此操作后,您可以将设计器中相应标量属性上的“Entity Key”设置为 false,EF 不会生气。您也不会被要求在关联中映射此列。

于 2009-06-24T05:15:49.960 回答