gpt4 book ai didi

c# - 无法解析符号 'HasRequired' Entity Framework Core

转载 作者:行者123 更新时间:2023-12-04 16:27:00 31 4
gpt4 key购买 nike

我正在尝试通过 C# 中的代码与 Entity Framework Core 连接两个表。

类(class)是:

public class roll
{
[key]
public int rollId { get; set; }

public List<pieces> pieces { get; set; }
}

public class pieces
{
[Key]
public int pieceId { get; set; }
public int quantity { get; set; }
public decimal price { get; set; }
}

在我的 DbContext ,我有以下方法:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<roll>()
.HasRequired(m => m.quantity)
.WithMany(m => m.pieces)
.HasForeignKey(m => m.pieceId);

base.OnModelCreating(modelBuilder);
}
HasRequired变为红色并给出以下消息:

EntityTypeBuilder does not contain a definition for HasRequired.



项目添加了对 Microsoft.EntityFrameworkCore.Relational的引用.
我重新编译了解决方案,关闭并打开了visual studio,但我无法解决 HasRequired不再红

我的代码有什么问题?

最佳答案

您应该更改 .net core EF 的代码,他们刚刚删除了 HasRequired并将其替换为 HasOne对于一对一的关系和 HasMany对于一对多关系。您也可以添加 .IsRequired()对于所需的关系。祝你好运。

modelBuilder.Entity<roll>()
.HasOne(m => m.quantity).IsRequired()
.WithMany(m => m.pieces)
.HasForeignKey(m => m.pieceId);

您可以在此处找到完整的文档: Documentation link

关于c# - 无法解析符号 'HasRequired' Entity Framework Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62110667/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com