我试图在两个实体之间建立双向可选关系:
A系列有一个可选夹具,夹具有一个可选系列。这是我到目前为止的两个实体类。
public class Fixture : IEntityBase
{
public int Id { get; set; }
public DateTime Date { get; set; }
public int? SeriesId { get; set; }
public virtual Series Series { get; set; }
}
public class Series : IEntityBase
{
public int Id { get; set; }
public int? FixtureId { get; set; }
public virtual Fixture Fixture { get; set; }
}
当我尝试使用此更新数据库时,出现以下错误:
"无法确定之间关联的主要结束 类型'夹具'和'系列'。这个协会的主要目的 必须使用关系fluent API显式配置 或数据注释。"
所以我将这一行添加到我的ModelBuilder
中,更新数据库运行良好,并创建表。
modelBuilder.Entity<Fixture>().HasOptional(f => f.Series).WithOptionalPrincipal(f => f.Fixture);
但是当我在SQL中查看我的数据库时,有一个名为Fixture_Id
的不必要的列让我认为我的实体设置不正确。
当我在调试模式下返回Series列表时,我可以看到其中一个Series有一个FixtureId,如上图所示,但与Fixture的关系为null。
希望我提供了足够的信息。
感谢您提前提供任何帮助。