C# 实体框架调用存储过程并映射到对象

C# 实体框架调用存储过程并映射到对象,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我在应用程序中有以下数据模型 public class User { public string Id {get;set;} public string Name {get;set;} public Job AtJob {get;set;} } public class Job { public string Id {get;set;} public sting Title {get; set;} } 我使用以下语法调用SQL查询 context.Ex

我在应用程序中有以下数据模型

public class User
{
    public string Id {get;set;}
    public string Name {get;set;}
    public Job AtJob {get;set;}
}

public class Job
{
    public string Id {get;set;}
    public sting Title {get; set;}
}
我使用以下语法调用SQL查询

context.ExecuteStoreQuery<User>("SELECT Id, Name FROM dbo.[User]").ToList(); 
context.ExecuteStoreQuery(“从dbo.[User]中选择Id和名称”).ToList();
它是有效的。问题是当我想从作业返回字段并将它们映射到对象数据模型时。比如说

context.ExecuteStoreQuery<User>
("SELECT U.Id, U.Name, J.Title 
  FROM dbo.[User] U 
  INNER JOIN dbo.[Job] J 
  ON U.JobId = J.JobId).ToList(); 
context.ExecuteStoreQuery
(“选择U.Id、U.Name、J.Title
来自dbo。[User]U
内部联接dbo[Job]J
在U.JobId=J.JobId.ToList()上;
那么,有没有什么好的/简单的方法可以将作业列映射到对象模型中的用户?

为什么不使用
Include()
并执行此操作呢

var user = context.Users.Include(u => u.Job);

为什么不使用
Linq to entites
?我知道我可以使用Linq to entites,但我想通过SQL查询实现一些功能。您应该将jobId保存在用户类和用户db表中,这样您就不需要在查询中使用任何内部联接