2014-11-20 2 views
0

저는 ASP.NET MVC4 초보자이고 블로그 종류를 만들려고합니다. 내 모델에서 관계를 만드는 데 문제가 있습니다. 내 이슈의 배경은 사용자 정보가있는 모델 (Users.cs), 게시물 정보가 들어있는 모델 (Posts.cs) 및 주석 정보가 들어있는 세 번째 모델 (Comments.cs)입니다. ASP.NET MVC4의 모델에서 관계 지정

그래서 사용자가 많은 게시물을 가질 수 있지만, 포스트
사용자가 많은 의견이 있습니다, 하나의 사용자에 속할 수 있지만 코멘트는
후 많은 의견 그러나 코멘트를 할 수 있습니다 만 사용자에 속할 수 있습니다 게시물에만 속할 수 있습니다.

제 질문은 어떻게 3 가지 모델을 작성합니까? 지금까지 나는 이것을 가지고있다 :

public class Users 
{ 
    public int UserID { get; set; } 
    public string Firstname { get; set; }  
    public string Lastname { get; set; } 
    public DateTime DOB { get; set; } 
    public string Sex { get; set; } 
    public string Email { get; set; } 
    public DateTime RegDate { get; set; } 
    public string Username { get; set; } 
    public string Password { get; set; } 
    public string PasswordSalt { get; set; } 

    public virtual List<Posts> Post { get; set; } 
    public virtual List<Comments> Comment { get; set; } 
} 

class Posts 
{ 
    public int PostID { get; set; } 
    public string PostTitle { get; set; } 
    public string PostContent { get; set; } 
    public DateTime PostDate { get; set; } 
    public int AuthorID { get; set; } 
    public int CommentID { get; set; } 

    public virtual List<Comments> Comment { get; set; } 
    public virtual Users user { get; set; } 
} 

public class Comments 
{ 
    public int CommentID { get; set; } 
    public string Comment { get; set; } 
    public DateTime CommentDate { get; set; } 
    public int AuthorID { get; set; } 
    public int PostID { get; set; } 

    public virtual Posts post { get; set; } 
    public virtual Users user { get; set; } 
} 

3 가지 모델을 올바르게 작성하려면 어떻게해야합니까? 도움!!!

+0

나는이 엔티티 프레임 워크입니다 같은데요 :

이러한 속성을 제거? 작동하지 않는 기능/어떤 오류가 발생 했습니까? 고마워요, – Wiseguy

답변

1

강력하게 모델 클래스를 입력했으며 이미 올바르게 사용하고 있습니다. ID를 가리키는 중복 속성을 제거하면됩니다. Comments은 이미 Users user 일 때 작성자를 가리키는 int AuthorID이 필요하지 않습니다.

class Posts 
{ 
    public int AuthorID { get; set; } 
    public int CommentID { get; set; } 
} 

public class Comments 
{ 
    public int AuthorID { get; set; } 
    public int PostID { get; set; } 
} 
+0

. 다시 시도하고 진행 상황을 알려줍니다. – ibnhamza

+0

제 질문에 대답 해 주신 Aaroninus님께 감사드립니다. 죄송합니다. 기분 좋은. – ibnhamza

관련 문제