hyd*_*yde 5 c# entity-framework .net-core
我有一个看起来像这样的模型
public class Issue
{
public Guid Id { get; set; }
[Required]
public User ReportedByUser { get; set; }
public User ClosedByUser { get; set; }
public Category Category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行ef migrations add <MigrationName>
时,出现以下错误:
实体类型“WebProject.Models.Issue”上的导航“ReportedByUser”尚未添加到模型中,或被忽略,或目标实体类型被忽略。
当User
模型中只有 1 个导航属性类型时,我不会收到此错误。我如何使用上面的模型进行这项工作?
我可以通过在 DbContext 中设置以下关系来解决此问题。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Issue>()
.HasOne(i => i.ReportedByUser)
.WithMany(u => u.Issues)
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Issue>()
.HasOne(i => i.ClosedByUser)
.WithMany(u => u.Issues)
.OnDelete(DeleteBehavior.Restrict).IsRequired(false);
base.OnModelCreating(modelBuilder);
}
Run Code Online (Sandbox Code Playgroud)
并设置如下所示的模型。
public class Issue
{
public Guid Id { get; set; }
[Required]
public User ReportedByUser { get; set; }
public User ClosedByUser { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2418 次 |
最近记录: |