2014-11-14 3 views
0

저는 학습 목적으로 간단한 ASP.NET MVC 5 응용 프로그램을 모델링하고 있습니다.기본 ASP.NET MVC 5 모델 만들기

사용자는 질문하고 대답 할 수 있어야합니다 (사용자는 질문에 대해 단 하나의 대답 만 줄 수 있음). 어떻게해야합니까?

User 1 --> * Answer * --> 1 Question 

내가 조정을해야 내가의 [] 문 좋은 사용자를 만들 경우이 나는 모든 것이 효율적입니다 있는지 확실하지 않습니다이 프레임 워크 내 처음으로 모델링이기 때문에?

사용자 :

public class User 
{ 
    [Key] 
    public int UserID { get; set; } 
    ... 

    public virtual ICollection<Question> Questions { get; set; } 
    public virtual ICollection<Answer> Answers{ get; set; } 
} 

질문 :

public class Question 
{ 
    [Key] 
    public int QuestionID { get; set; } 

    [Required] 
    public int UserID { get; set; } 

    .... 
} 

답변 :

public class Answer 
{ 
    [Key] 
    public int AnswerID{ get; set; } 

    [Required] 
    public int UserID { get; set; } 
    [Required] 
    public int QuestionID { get; set; } 

    public virtual User User { get; set; } 
    public virtual Question Question { get; set; } 
} 
+1

질문 클래스는'공공 가상 ICollection은 답변 {얻을 수 있어야한다; 세트; }'. – adiga

답변

2

Here는 이에 대한 좋은 예이다.

같은 이름의 색인 속성을 사용해야합니다. 예 :

public class Question 
     { 
     [Index("IX_QuestionAndUser", 1, IsUnique = true)] 
     public int QuestionID { get; set; } 

     [Index("IX_QuestionAndUser", 1, IsUnique = true)] 
     public int UserID { get; set; } 

     } 
1

Entity 프레임 워크를 사용할 예정입니다. 다음은 코드 첫 번째 모델의 관계 배에 유용한 리소스입니다.

Relations in Entity framework