I'm modelling a simple ASP.NET MVC 5 application for learning purposes.
A user should be able ask and answer questions (A user can only give one answer to a question). How should this be done?
User 1 --> * Answer * --> 1 Question
Because this is my first time modelling with this framework I'm not sure if everything is efficient and if I make good user of the [] statements, should I make adjustments?
User:
public class User
{
[Key]
public int UserID { get; set; }
...
public virtual ICollection<Question> Questions { get; set; }
public virtual ICollection<Answer> Answers{ get; set; }
}
Question:
public class Question
{
[Key]
public int QuestionID { get; set; }
[Required]
public int UserID { get; set; }
....
}
Answer:
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; }
}