如何解决EF:表的潜在运行时冲突

本文关键字:冲突 运行时 EF 何解决 解决 | 更新日期: 2023-09-27 18:09:02

我在我的web应用程序中使用EF 4。

以下是我的相关表格:

**AppToDomains_V1 **
GroupId   uniqueidentifier
AppGuid   uniqueidentifier
**Apps table**
AppName   nvarchar(50)  
AppGuid   uniqueidentifier  
ClientAppID   nvarchar(50)  
IsDeleted     bit   
CreatedDate   datetime  
UpdatedDate   datetime  

and my edmx:

http://ge.tt/17n6R2e/v/0?c

我得到以下错误:

错误2错误3002:映射片段从行开始的问题1565:可能违反表AppToDomains_V1的键(AppToDomains_V1。AppId, AppToDomains_V1.Domain):列(AppToDomains_V1。AppId、AppToDomains_V1.Domain)的映射设置AppToDomains_V1的属性。AppId,AppToDomains_V1.Domain),但它们没有形成实体集的关键属性(AppToDomains_V1)。AppId,AppToDomains_V1。域,AppToDomains_V1.IsWhiteListed)。D: '老妈' Server ' MamAdmin '开发' Admin1.7 ' MaMDBEntityFramework ' MaMModel。edmx 1566 15 MaMDBEntityFramework

如何解决这个问题?

D: '老妈' Server ' MamAdmin '开发' Admin

1.7 ' MaMDBEntityFramework ' MaMModel。Edmx 1566 15 is:

      <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>

如何解决EF:表的潜在运行时冲突

我知道这是很久以前的事了,但它仍然显示在搜索引擎上,所以这是交易。

3002错误表示模型和实际数据库在表的主键上不匹配。例如,数据库可能只有一个ID字段作为主键,但在模型中,它有两个或更多列标记为主键的一部分。当我出现此错误时,模型已将所有非空外键字段标记为主键的一部分,这是不正确的。

要修复,进入模型,定位表,突出显示被错误标记为主键一部分的每个字段,并将"Entity key"属性更改为false。重新编译,错误应该会消失。