我有以下课程:
public class Project
{
public int ID { get; set; }
public string Name { get; set; }
...
// Navigation
public virtual IEnumerable<Task> Tasks { get; set; }
//public virtual IEnumerable<Message> Messages { get; set; } // ???
}
public class Task
{
public int ID { get; set; }
public int ProjectID { get; set; }
public string Name { get; set; }
...
// Navigation
//public virtual IEnumerable<Message> Messages { get; set; } // ???
}
public class Message
{
public int ID { get; set; }
public string Comment { get; set; }
...
// Foreign Keys ??
}
基本上:
- 项目将有许多任务
- 项目会有很多Message
- 任务会有很多消息
- 每条消息都属于一个项目或任务
我将如何编写数据库以及编写 EF 代码来实现这一点?我希望能够使用 Linq 语法,例如。List<Message> messages = project.Messages.ToList();
我找到了这种替代设计,但不确定导航属性的外观。