Ela*_*nda 9 c# sql asp.net-mvc entity-framework
我在我的网络应用程序中使用EF 4.
这是我的相关表格:
**AppToDomains_V1 **
GroupId uniqueidentifier
AppGuid uniqueidentifier
**Apps table**
AppName nvarchar(50)
AppGuid uniqueidentifier
ClientAppID nvarchar(50)
IsDeleted bit
CreatedDate datetime
UpdatedDate datetime
Run Code Online (Sandbox Code Playgroud)
和我的edmx:
我收到以下错误:
错误2错误3002:问题在映射片段起始于线1565:潜在的运行时违反表AppToDomains_V1的键(AppToDomains_V1.AppId,AppToDomains_V1.Domain)的:列(AppToDomains_V1.AppId,AppToDomains_V1.Domain)被映射到的EntitySet AppToDomains_V1的属性(AppToDomains_V1.的AppId,AppToDomains_V1.Domain)的概念的一面,但他们并不构成的EntitySet的键属性(AppToDomains_V1.AppId,AppToDomains_V1.Domain,AppToDomains_V1.IsWhiteListed).d:\ MAM \服务器\ MamAdmin \开发\管理1.7\MaMDBEntityFramework\MaMModel.edmx 1566 15 MaMDBEntityFramework
我该如何解决这个问题?
d:\ MAM \服务器\ MamAdmin \开发\管理员
1.7\MaMDBEntityFramework\MaMModel.edmx 1566 15是:
<EntitySetMapping Name="AppToDomains_V1">
<EntityTypeMapping TypeName="MaMDBModel.AppToDomains_V1">
<MappingFragment StoreEntitySet="AppToDomains_V1">
<ScalarProperty Name="IsWhiteListed" ColumnName="IsWhiteListed" />
<ScalarProperty Name="Domain" ColumnName="Domain" />
<ScalarProperty Name="AppId" ColumnName="AppId" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
Run Code Online (Sandbox Code Playgroud)
小智 21
我知道这是很久以前的事了,但它仍然出现在搜索引擎上,所以这就是交易.
3002错误表示模型与实际数据库之间的表的主键不匹配.例如,数据库可能只有一个ID字段作为主键,但在模型中,它有两个或多个列标记为主键的一部分.当我遇到此错误时,模型已将所有非空的外键字段标记为主键的一部分,这是不正确的.
要修复,请进入模型,找到表,突出显示错误标记为主键一部分的每个字段,并将"实体键"属性更改为false.重新编译,错误应该消失.
这对我有用.