Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF Core 2.0 FromSql加载相关实体_C#_Sql Server_.net Core_Entity Framework Core - Fatal编程技术网

C# EF Core 2.0 FromSql加载相关实体

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

我有一个加载事件及其位置的存储过程,但当我尝试使用FromSql方法从我的存储库类调用它时,我只得到事件实体的列表,但不包括位置。我试图将Include方法添加到我的查询中,但我得到一个异常,该异常表示在调用存储过程时无法使用Include。。。有没有办法,或者我必须手动映射所有属性

我的SP:

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类没有定义所有必需的属性。