我的数据库中有两个表项目和任务。 一个项目可能有多个任务,因此它有一个任务列,其中插入了任务ID。创建新项目时,任务列将为空,可以为空。但是,当创建新任务时,我想通过将新创建的任务ID添加到任务列来获取Task Id并修改Project表。我怎么能在MVC 4中做到这一点?
答案 0 :(得分:0)
假设您使用Entity Framework - Code First,您可以随时采用此方法,其中项目有许多任务。我为你创建了模型
public class Project
{
public int Id { get; set; }
public virtual ICollection<ProjectTask> ProjectTasks { get; set; }
}
public class ProjectTask
{
public int ProjectId { get; set; }
public int TaskId { get; set; }
public virtual Project Project { get; set; }
public virtual Task Task { get; set; }
}
public class Task
{
public int Id { get; set; }
public string Description { get; set; }
public virtual ICollection<ProjectTask> ProjectTasks { get; set; }
}
现在,根据您的设置(存储库,上下文等),您可以随意创建新任务,然后在准备好后,检索项目并添加到项目中。
var task = new Task() {Description = "My new task"};
Project project = ProjectRepository.FirstOrDefault();
if (project != null)
{
project.ProjectTasks.Add(new ProjectTask(){Task = task});
ProjectRepository.SaveChanges();
}
如果这听起来像你的目的,我附上了一些关于在实体框架中设置存储库模式的阅读
进一步阅读