데이터 주석을 사용하여 외래 키를 만듭니다
-
20-12-2019 - |
문제
아래 코드에서는 parentinfoaddproperties.parentQuestionAnswerSID에 외래 키 제한을 설정하여 ParentQuestionAnswers.ID (기본 키인 키)에 종속되어 있어야합니다.데이터 주석을 사용하여 데이터 주석을 사용하고 있지만 엔티티 프레임 워크 6은 parentinfoaddproperties.ID 열이 아닌 paperinfoaddproperties.id 컬럼을 참조하는 내 새 외래 키 열을 만들고 싶습니다.엔티티 프레임 워크가 새 외래 키 열을 만들지 않으려면
누군가가 어떤 데이터 주석이나 (필요한 경우) 유창한 맵핑을 설명 할 수 있는지 크게 감사드립니다. 원하는 외래 키 제한을 얻기 위해 지정해야합니다.미리 감사드립니다.
namespace Project.Domain.Entities
{
public class ParentQuestionAnswers
{
public ParentQuestionAnswers()
{
ParentInfoAddProperties = new ParentInfoAddProperties();
}
[Required]
public int Id { get; set; }
[Required]
public int UserId { get; set; }
public ParentInfoAddProperties ParentInfoAddProperties { get; set; }
}
public class ParentInfoAddProperties
{
[Required]
public int Id { get; set; }
[Required]
public int ParentQuestionAnswersId { get; set; }
}
}
. 해결책
다음 데이터 주석을 사용할 수 있으며 int
대신 엔티티를 사용할 수 있습니다.[Required]
[ForeignKey("ParentQuestionAnswers")]
public ParentQuestionAnswers ParentQuestionAnswers { get; set; }
.
ID를 가져 오려면
속성을 추가 할 수 있습니다.public int ParentQuestionAnswersId { get; set; }
.
그러나 여전히 ParentQuestionAnswers
속성이 필요하므로 EF가 당신을 이해할 것입니다.
(이 코드 행은 ParentInfoAddProperties
클래스 아래에 있어야 함)
다른 팁
를 첨가합니다
[KeyAttribute]
.
ID 열
및
[ForeignKeyAttribute]
.
SafileQuestionAnswersID 속성에 대한
제휴하지 않습니다 StackOverflow