[英]Cannot resolve symbol 'HasRequired' 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; }
}
在我的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 不包含 HasRequired 的定义。
该项目添加了对Microsoft.EntityFrameworkCore.Relational
的引用。 我已经重新编译了解决方案,关闭并打开了 Visual Studio,但我无法解决HasRequired
停止变红的问题
我的代码有什么问题?
Entity Framework Core 没有HasRequired()
- 这是一个旧的 Entity Framework <=6 (.NET Framework) 方法。
EF Core 改为使用HasOne()
。 您可以在此处查看有关其官方文档的更多信息。
您应该更改 .net 核心 EF 的代码,他们只是删除HasRequired
并将其替换为HasOne
用于一对一关系,而HasMany
则用于一对多关系。 您还可以为所需的关系添加.IsRequired()
。 祝你好运。
modelBuilder.Entity<roll>()
.HasOne(m => m.quantity).IsRequired()
.WithMany(m => m.pieces)
.HasForeignKey(m => m.pieceId);
您可以在此处找到完整的文档: 文档链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.