无法解析符号“HasRequired”Entity Framework Core

Tar*_* 77 3 c# entity-framework-core

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

课程有:

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; }
}
Run Code Online (Sandbox Code Playgroud)

在我的中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);
}
Run Code Online (Sandbox Code Playgroud)

HasRequired变成红色并给出以下消息:

EntityTypeBuilder 不包含 HasRequired 的定义。

该项目添加了对 的引用Microsoft.EntityFrameworkCore.Relational。我已经重新编译了解决方案,关闭并打开了 Visual Studio,但我无法解决HasRequired不再显示红色的问题

我的代码有什么问题吗?

Ali*_*oor 9

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

modelBuilder.Entity<roll>()
            .HasOne(m => m.quantity).IsRequired()
            .WithMany(m => m.pieces)
            .HasForeignKey(m => m.pieceId);
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到完整的文档:文档链接