ASP.NET EF CORE: 由两个外键组成的复合键未正确评估
创始人
2024-09-16 06:00:15
0

在ASP.NET EF Core中,使用两个外键组成的复合键时,有时会遇到评估错误的问题。以下是解决此问题的一种方法:

  1. 首先,确保在模型类中正确定义了复合键。例如,假设有两个外键属性ForeignKey1ForeignKey2,并且它们共同组成了复合键。
public class YourEntity
{
    public int ForeignKey1 { get; set; }
    public int ForeignKey2 { get; set; }
    
    // Other properties
    
    // Define the composite key
    [Key]
    public int CompositeKey => HashCode.Combine(ForeignKey1, ForeignKey2);
    
    // Navigation properties for the foreign keys
    public ForeignKey1Entity ForeignKey1Entity { get; set; }
    public ForeignKey2Entity ForeignKey2Entity { get; set; }
}
  1. 在DbContext类中,使用HasAlternateKey方法来配置复合键。这将告诉EF Core将这两个外键属性作为复合键。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity()
        .HasAlternateKey(e => new { e.ForeignKey1, e.ForeignKey2 });
}
  1. 确保在查询中正确使用复合键。例如,如果要根据复合键检索实体,可以使用Find方法。
var entity = dbContext.YourEntities.Find(foreignKey1Value, foreignKey2Value);

这样,就可以正确评估由两个外键组成的复合键了。

相关内容

热门资讯

7分钟开挂!微信微乐辅助器下载... 您好:这款福建天天开心辅助软件大全游戏是可以开挂的,确实是有挂的,很多玩家在这款福建天天开心辅助软件...
第六分钟透视!广西老友玩方片破... 广西老友玩方片破解是一款专注玩家量身打造的游戏记牌类型软件,在广西老友玩方片破解这款游戏中我们可以记...
教会透视"安卓wep... 教会透视"安卓wepoker德州透视挂下载"开挂(透视)辅助软件(揭秘真相高科技教程)教会透视"安卓...
6分钟开挂!人海大厅挂件怎么买... 6分钟开挂!人海大厅挂件怎么买,来物局怎么开挂(2分钟细说开挂辅助软件);亲,人海大厅挂件怎么买这款...
发现透视"wepok... 发现透视"wepoker发牌算法"开挂(透视)辅助神器(玩家交流新版2026教程)发现透视"wepo...
四分钟辅助!山西奇迹打锅子辅助... 山西奇迹打锅子辅助 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: ...
正版透视"wepok... 正版透视"wepoker是不是有人用挂"开挂(透视)辅助脚本(一分钟了解扑克教程)正版透视"wepo...
第3分钟开挂!潮汕木虱辅助下载... 第3分钟开挂!潮汕木虱辅助下载,中至余干破解器(分享开挂内幕开挂辅助安装)【无需打开直接搜索加薇13...
科技透视"wrpok... 科技透视"wrpoker透视挂真的吗"开挂(透视)辅助工具(揭秘一下曝光教程)【福星临门,好运相随】...
第2分钟开挂!圣盛鄂州晃晃辅助... 【亲,圣盛鄂州晃晃辅助 这款游戏可以开挂的,确实是有挂的,很多玩家在这款圣盛鄂州晃晃辅助中打牌都会发...