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

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

相关内容

热门资讯

必看透视"wepok... 必看透视"wepoker透视辅助教程"开挂(透视)辅助神器(记者揭秘软件教程)必看透视"wepoke...
分享透视"wepok... 分享透视"wepoker真的能透视吗"开挂(透视)辅助下载(玩家必备教程2026新版教程)分享透视"...
必看透视"德州wep... 必看透视"德州wepoker透视挂"开挂(透视)辅助下载(程序员教你解密教程)必看透视"德州wepo...
正版透视"微扑克的辅... 正版透视"微扑克的辅助工具有哪些"开挂(透视)辅助插件(记者发布解说技巧)正版透视"微扑克的辅助工具...
实测透视"微扑克辅助... 实测透视"微扑克辅助器破解器"开挂(透视)辅助脚本(六分钟了解教你攻略)实测透视"微扑克辅助器破解器...
分享透视"wepok... 分享透视"wepoker透视挂的玩法"开挂(透视)辅助器(科普分享黑科技教程)分享透视"wepoke...
细节透视"有wepo... 细节透视"有wepoker透视吗"开挂(透视)辅助下载(记者揭秘透明挂教程)细节透视"有wepoke...
教会透视"wepok... 教会透视"wepokerplus透视挂真的假的"开挂(透视)辅助软件(发现玩家辅助教程)教会透视"w...
必看透视"WePoK... 必看透视"WePoKer辅助透视软件挂"开挂(透视)辅助挂(玩家亲测德州论坛)必看透视"WePoKe...
传授透视"wpk到底... 传授透视"wpk到底有没有辅助挂"开挂(透视)辅助下载(技术分享靠谱教程)传授透视"wpk到底有没有...