Код: Выделить всё
public class Member : BaseEntity
{
public Warn FirstWarn { get; set; }
public Warn SecondWarn { get; set; }
public Warn ThirdWarn { get; set; }
}
Код: Выделить всё
BaseEntityИ у меня есть участник, который может иметь три предупреждения:
Код: Выделить всё
public class Warn : BaseEntity
{
public Member Responsible { get; set; }
public Member IssuedTo { get; set; }
public string Reason { get; set; }
}
Если я просто оставлю это так, я получу ошибку:
Невозможно определить связь, представленную навигацией «Member. FirstWarn» типа «Warn»
Я пытался использовать свойство NotMapped, но оно полностью удаляет эти три поля из базы данных.
Затем я попытался настроить метод OnModelCreating с помощью этого кода:
Код: Выделить всё
modelBuilder.Entity(m =>
{
m.HasOne(w => w.FirstWarn)
.WithOne(m => m.IssuedTo);
m.HasOne(w => w.SecondWarn)
.WithOne(m => m.IssuedTo);
m.HasOne(w => w.ThirdWarn)
.WithOne(m => m.IssuedTo);
});
Невозможно создать связь между «Warn.IssuedTo» и «Member.SecondWarn». ', поскольку между "Warn.IssuedTo" и "Member.FirstWarn" уже существует связь
Подробнее здесь: https://stackoverflow.com/questions/789 ... -relations
Мобильная версия