Tôi đang sử dụng EF 4 trong ứng dụng web của mình.Cách giải quyết EF: Vi phạm thời gian tiềm ẩn của bảng
đây là bảng có liên quan của tôi:
**AppToDomains_V1 **
GroupId uniqueidentifier
AppGuid uniqueidentifier
**Apps table**
AppName nvarchar(50)
AppGuid uniqueidentifier
ClientAppID nvarchar(50)
IsDeleted bit
CreatedDate datetime
UpdatedDate datetime
và edmx tôi:
tôi nhận được lỗi sau:
Error 2 Error 3002: Problem in mapping fragments starting at line 1565:Potential runtime violation of table AppToDomains_V1's keys (AppToDomains_V1.AppId, AppToDomains_V1.Domain): Columns (AppToDomains_V1.AppId, AppToDomains_V1.Domain) are mapped to EntitySet AppToDomains_V1's properties (AppToDomains_V1.AppId, AppToDomains_V1.Domain) on the conceptual side but they do not form the EntitySet's key properties (AppToDomains_V1.AppId, AppToDomains_V1.Domain, AppToDomains_V1.IsWhiteListed). D:\MaM\Server\MamAdmin\Dev\Admin 1.7\MaMDBEntityFramework\MaMModel.edmx 1566 15 MaMDBEntityFramework
Làm thế nào tôi có thể giải quyết này?
D: \ MAM \ Server \ MamAdmin \ Dev \ 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>
Có lý do tại sao thuộc tính Miền và IsWhiteListed được đặt làm Khóa thực thể không? –
Thêm ảnh chụp màn hình ánh xạ của bạn. Bạn sẽ có nhiều khả năng nhận được một số câu trả lời. Hầu hết người dùng ở đây sẽ không tải xuống mô hình của bạn và mở nó trong VS. –
@RobG Bạn có thể giải thích khóa thực thể là gì không? nó là khóa chính? Nhưng dù sao, khóa chính phải là Miền ứng dụng. Vì điều này sẽ tồn tại một lần ở mức tối đa. Làm thế nào tôi nên sửa chữa những gì bạn đề nghị? –