EF4 0..1关系导致错误2016:无法指定条件

时间:2010-04-09 18:47:54

标签: entity-framework orm wcf-data-services

这与previous question非常相似(可能是完全相同的问题),但我真的不明白答案足以说明问题。

我在Visual Studio RC1中使用Entity Framework 4来创建一个azure服务应用程序(因此它是.Net 3.5)。我有一个包含很多模式的数据库,如下所示:

Thing                     ThingType
-------------             --------------
Id : int                  Id : int
Type : int

其中Thing.Type引用ThingType。当EF4从数据库组装模型时,会生成一个错误,其中包含:

  

错误2016:无法为列成员“类型”指定条件,因为它标记为“已计算”或“标识”StoreGeneratedPattern。

我对如何前进感到茫然,但显然这是一种非常常见的情况。我非常有信心有人可以帮助我。

1 个答案:

答案 0 :(得分:2)

在RC1中,存在一个错误,即外包密钥关系标记为StoreGeneratedPattern="Identity"。这可能会导致您在这里看到的问题,但由于您的环境不同,我无法肯定地说。看一下你的EDMX文件,你应该看到StoreGeneratedPattern =“Identity”只是Thing和ThingType的Id字段而不是ThingThingType关系。

另见http://blog.abodit.com/2010/03/system-data-updateexception-a-value-shared-across-entities-or-associations-is-generated-in-more-than-one-location-check-that-mapping-does-not-split-an-entitykey-to-multiple-store-generated-columns/

Microsoft已确认此错误已针对RTM修复,这很好,因为每次从数据库更新模型时它都会影响您!