在LINQ to Entities查询中使用Include()

11 浏览
0 Comments

在LINQ to Entities查询中使用Include()

我在我的ASP.NET MVC 3项目中有以下模型:

public class Task
{
    public int Id { get; set; }
    public DateTime CreatedOn { get; set; }
    public TaskStatus Status { get; set; }
}
public class TaskStatus
{
    public int Id { get; set; }
    public string Description { get; set; }
}

作为参考,这是我的DbContext类:

public class TaskManagerSets : DbContext
{
    public DbSet TaskSet { get; set; }
    public DbSet TaskStatusSet { get; set; }
}

然后,在我的TaskController中有一个List Action:

TaskManagerSets dbcontext = new TaskManagerSets();
public ActionResult List()
{
    var tasks = from tsk in dbcontext.TaskSet.Include("TaskStatusSet")
                select tsk;
    return View(tasks.ToList());
}

最后,我有一个Task List View:

@model IEnumerable

    @foreach (var tsk in Model)

    {

  • @tsk.Id | @tsk.CreatedOn | @tsk.Status.Description
  • }

当我执行我的项目时,我得到以下错误:

指定的Include路径无效。EntityType 'CodeFirstNamespace.Task'没有声明名称为'TaskStatus'的导航属性。

问题肯定出在`Include("TaskStatusSet")`上,但我应该如何修复这个问题呢?

0