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

本文关键字:映射 对象 存储过程 框架 调用 实体 | 更新日期: 2023-09-27 18:03:57

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

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<User>
("SELECT U.Id, U.Name, J.Title 
  FROM dbo.[User] U 
  INNER JOIN dbo.[Job] J 
  ON U.JobId = J.JobId).ToList(); 

所以,有没有什么好的/简单的方法来映射作业列到用户在对象模型?

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

为什么不使用Include()这样做呢?:

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