Есть 2 класса, хочу соединить связью один-к-одному
public class Profession : Model
{
public int Id { get; set; }
public Test MainTest { get; set; }
...
}
public class Test
{
[Key]
[ForeignKey("Profession")]
public int Id { get; set; }
...
public Profession Profession { get; set; }
}
Выдает ошибку при компиляции:
"The ForeignKeyAttribute on property 'Id' on type 'Test' is not valid. The navigation property 'Profession' was not found on the dependent type 'Test'. The Name value should be a valid navigation property name."
Решил что связь будет ноль или один к нулю или одному, сделал уникальные ключи и подключил
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Profession>()
.HasOptional(o => o.MainTest)
.WithOptionalPrincipal()
.Map(o => o.MapKey("ProfId"));
modelBuilder.Entity<Test>()
.HasOptional(o => o.Profession)
.WithOptionalPrincipal()
.Map(o => o.MapKey("TestId"));
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости