Фон в том, что текущая БД настроена из-за тысячи сценариев и должна рассматриваться как неприкасаемая.Я бы хотел снимать на новом столе (который работал довольно хорошо , следуя этому руководству ).Тем не менее, я застрял при создании отношений с существующим мусором.
У меня новый класс, объявленный следующим образом.
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 .
Как мне подойти к нему?