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表中,这样您就不需要在查询中使用任何内部联接