I가 다음과 같은 모델MVC 엔티티 프레임 워크 모델 : 기본 키 2 개 이상의 키에 따라서 문제
public class User
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Appointment
{
public int Id { get; set; }
public string Name{ get; set; }
}
와 내가 그들을 그렇게
public class UserAppointment
{
public int Id { get; set; }
public int UserId { get; set; }
public int AppointmentId { get; set; }
public virtual Appointment Appointment {get;set;}
public virtual User User {get;set;}
}
같은 별도의 기본 키와 다른 테이블에 할당 할
내가 원했던 것은 Id가 키 (고유, 자동 생성 등) 인 동시에 UserId와 AppointmentId가 고유 한 조합을 갖도록 강제하는 것입니다. 순간
eg
this is what i want
Id UserId AppointmentId
1 1 2
2 1 3
and not this
Id UserId AppointmentId
1 1 2
2 1 2
3 1 2
나는 내 키
modelbuilder.Entity<UserApointment>()
.HasRequired(e => e.User)
.HasMany(u => u.Appointment)
.HasForeignKey(e => e.UserId);
modelbuilder.Entity<UserApointment>()
.HasRequired(e => e.Appointment)
.HasMany(u => u.Users)
.HasForeignKey(e => e.AppointmentId);
을 구성하는 내 상황에 일부 모델 빌더 문을했다하지만 여전히 나를 유사한 사용자와 약속 ID를 가진 레코드를 삽입하게됩니다.
이 문제를 해결하는 방법에 대한 조언은 대단히 감사하겠습니다! 감사합니다.
복합 PK를 사용할 수있는 경우 왜 'UserApointment'에 대해'Id' 열을 유지하려고합니까? – Eranga
UserAppointment와 일대 다 많은 관계가있는 다른 테이블에서이 테이블을 사용하고 있습니다. 나는 그것이 더 쉽게 쿼리 할 수 있다고 생각하니? – gdubs