背景是现在的DB是千篇一律的苦心打造,算是碰不得。我想在一张新桌子上拍摄(按照本指南工作得很好)。然而,我被困在与预先存在的垃圾建立关系上。
我有一个声明如下的新类。
public class Stuff
{
public int Id { get; set; }
public int OldThingId { get; set; }
public virtual OldThing OldThing { get; set; }
}
我希望它有一个OldThing类型的父级,所以我添加了以下内容。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
...
OnModelCreating(modelBuilder.Entity<Stuff>());
}
private void OnModelCreating(EntityTypeBuilder<Stuff> entity)
{
entity.HasKey(a => a.Id);
entity.HasOne(a => a.OldThing);
//entity.HasOne(a => a.OldThing).IsRequired();
}
在这里,我想使用WithMany和IsRequired但由于旧的东西与新的东西没有关系(而且我不想篡改它),我不确定如何告诉 FluentApi 该字段是必需的。遗憾的是,该方法似乎在HasOne上不存在。
我应该如何处理它?