Насколько мне известно, мы не могли напрямую создать взаимосвязь без изменения вашего класса пациента и допуска.
Если вы хотите добиться взаимно однозначного отношения между Admission
и Patient
, вы должны добавить Прием и Пациент в качестве свойства в каждом классе, а затем использовать entity.HasOne(x=>x.Patient).WithOne(x=>x.Admission).HasForeignKey("PatientId"); to achieve your requirement.
Более подробную информацию вы можете найти в кодах ниже:
public class Patient
{
public int PatientId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Nic { get; set; }
public int Age { get; set; }
public string Address { get; set; }
public string Email { get; set; }
public string Mobile { get; set; }
public DateTime RegisterDate { get; set; }
public string CurrentState { get; set; }
public string Password { get; set; }
public Admission Admission { get; set; }
}
Прием:
public class Admission
{
public int AdmissionId { get; set; }
public int PatientId { get; set; }
public DateTime AdmissionDate { get; set; }
public string reason { get; set; }
public Patient Patient{ get; set; }
}
OnModelCreating:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Patient>(entity =>
{
entity.HasKey(e => e.PatientId);
entity.Property(e => e.FirstName);
entity.Property(e => e.LastName);
entity.Property(e => e.Nic);
entity.Property(e => e.Age);
entity.Property(e => e.Address);
entity.Property(e => e.Email);
entity.Property(e => e.Mobile);
entity.Property(e => e.RegisterDate);
entity.Property(e => e.CurrentState);
entity.Property(e => e.Password);
});
modelBuilder.Entity<Admission>(entity =>
{
entity.HasKey(e => e.AdmissionId);
entity.Property(e => e.PatientId);
entity.Property(e => e.AdmissionDate);
entity.Property(e => e.reason);
entity.HasOne(x=>x.Patient).WithOne(x=>x.Admission).HasForeignKey("PatientId");
});
}