C# EF Core 2.0 FromSql加载相关实体
我有一个加载事件及其位置的存储过程,但当我尝试使用FromSql方法从我的存储库类调用它时,我只得到事件实体的列表,但不包括位置。我试图将Include方法添加到我的查询中,但我得到一个异常,该异常表示在调用存储过程时无法使用Include。。。有没有办法,或者我必须手动映射所有属性 我的SP:C# EF Core 2.0 FromSql加载相关实体,c#,sql-server,.net-core,entity-framework-core,C#,Sql Server,.net Core,Entity Framework Core,我有一个加载事件及其位置的存储过程,但当我尝试使用FromSql方法从我的存储库类调用它时,我只得到事件实体的列表,但不包括位置。我试图将Include方法添加到我的查询中,但我得到一个异常,该异常表示在调用存储过程时无法使用Include。。。有没有办法,或者我必须手动映射所有属性 我的SP: ALTER PROCEDURE [dbo].[GetEventsByDistance] @Latitude float, @Longitude float, @Radius int AS
ALTER PROCEDURE [dbo].[GetEventsByDistance]
@Latitude float,
@Longitude float,
@Radius int
AS
with MyCte as
(
select dbo.fnCalcDistanceKM(l.Latitude, l.Longitude, @Latitude, @Longitude) as distance, a.*, l.*
from dbo.Events a
JOIN Locations as l ON l.IdLocation = a.LocationId
)
SELECT
*
From MyCte
where distance < @Radius
RETURN
还有我的C代码
public async Task<List<Event>> GetEventsByDistance(string latitude, string longitude, int radiusInKm)
{
var events = new List<Akce>();
using (var context = _factory.CreateDbContext(null))
{
events = await context.Akce.FromSql($"{Constants.DB_PROC_GetEventsByDistance} {latitude}, {longitude}, {radiusInKm}").ToListAsync();
}
return events;
}
以下是相关问题
如果您使用sql函数而不是存储过程,它将与Include一起工作您的存储过程似乎只返回一个结果集,因此可能是events类没有定义所有必需的属性。