将SQL视图映射到EF 6中的现有实体?

问题描述:

我有一个表dbo.Tasks,任务类,一个TaskMap,并将其添加到数据库上下文没有问题。我也有一个数据库视图dbo.vwComplexTaskQuery返回任务。我如何将这个视图映射到我的任务类?我希望能够做到:将SQL视图映射到EF 6中的现有实体?

List<Task> Tasks = db.vwComplexTaskQuery.ToList(); 

,而无需创建一个具有相同属性和同一数据注释的vwComplextTaskQuery类。

简体任务类

public class Task 
{ 
    public int TaskId { get; set; } 
    public string Title { get; set; } 
} 

简体任务列表类

 public TaskMap() 
    { 
     // Primary Key 
     this.HasKey(t => t.TaskId); 
     this.Property(t => t.Title) 
      .IsRequired() 
      .HasMaxLength(50); 

     // Table & Column Mappings 
     this.ToTable("Tasks"); 
     this.Property(t => t.TaskId).HasColumnName("TaskId"); 
     this.Property(t => t.Title).HasColumnName("Title"); 

    } 

这是可能的,如果是这样的例子或链接到文件将是巨大的。

我找到了一个解决方案:

List<Task> tasks = db.Tasks.SqlQuery("Select * from vw_AllTasks").ToList<Task>();