Я пытаюсь создать приложение, используя Entity Framework.
Есть то, что я хочу сделать (у каждой сущности также есть Id):
Я хочу использовать составной первичный ключ в этом случае (PatientId + DiagnosisId
). Существует коллекция Диагнозов в классе модели пациента:
public ICollection<Diagnosis> Diagnoses { get; set; }
public class Diagnosis
{
[Required]
[MaxLength(200)]
public String Type { get; set; }
public String Complications { get; set; }
public String Details { get; set; }
public Int32 DiagnosisId { get; set; }
public Patient Patient { get; set; }
public Int32 PatientId { get; set; }
}
Также в контексте базы данных я определил
public DbSet<Diagnosis> Diagnoses { get; set; }
и
modelBuilder.Entity<Diagnosis>().HasKey(x => new { x.DiagnosisId, x.PatientId });
в методе OnModelCreating
создать составной первичный ключ.
В ASP. NET MVC CRUD-контроллере я создаю Diagnosis
, и каждый раз DiagnosisId
совпадает = 0. И я не могу вставить новые данные в базу данных, потому что это как дубликаты. Это мой метод создания поста на Pastebin , если это может помочь