【发布时间】:2018-12-11 01:38:32
【问题描述】:
当我尝试运行此代码时,我从 EntityFramework 得到一个异常,它无法确定由类型为“Step1”的导航属性“Workflow1.Step1”表示的关系。我试图在 OnModelCreating 中盲目配置它,但没有运气,知道如何解决这个问题吗?
如果我删除 DbQuery,代码可以正常工作,但我希望它在那里,这样我就可以在不从工作流中执行包含的情况下查询该数据,并且仍然确保没有直接在步骤内进行任何更改。
public class Workflow1
{
public Guid Id { get; private set; }
public Guid Step1Id {get; private set;}
public Step1 Step1 {get; private set;}
public Guid Step2Id {get; private set;}
public Step2 Step2 {get; private set;}
public Guid Step3Id {get; private set;}
public Step3 Step3 {get; private set;}
}
public class Workflow2
{
public Guid Step2Id {get; private set;}
public Step2 Step2 {get; private set;}
public Guid Step4Id {get; private set;}
public Step5 Step4 {get; private set;}
}
public class Step1
{
public Guid Id { get; private set; }
}
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) :base(options)
{}
public DbSet<Workflow1> Workflow1 { get; set; }
public DbSet<Workflow2> Workflow2 { get; set; }
public DbQuery<Step1> Step1 { get; set; }
public DbQuery<Step3> Step2 { get; set; }
public DbQuery<Step3> Step3 { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
}
}
【问题讨论】:
标签: c# asp.net-core entity-framework-core