Context.Database.SqlQuery <T>Entity Projection, где T - сложный тип с вложенными сложными типами - PullRequest
0 голосов
/ 06 мая 2020

Я использую Context.Database.SqlQuery<T> для вызова хранимой процедуры и проецирования результатов в модель типа T, которая отлично работает. Проблема возникает, когда T является сложным типом с вложенными сложными типами или когда T содержит список.

пример:

Запрос

context.Database
.SqlQuery<Model>($"ProcedureName @variable",
    new SqlParameter("@variable", "value"))
.ToList();

Результат

public class Model
{
    public int Id { get; set; }
    public string Name { get; set; }

    public Entity Entity { get; set; }

    public List<string> ListData { get; set; }
}

Entity

public class Entity
{
    public int Id { get; set; }
    public string Name { get; set; }
}

Есть ли способ структурировать имена столбцов результатов хранимых процедур, которые будут включить Entity Framework для проецирования значений в тип Entity или ListData? Например, что-то вроде Entity_Id, Entity_Name или Result_ListData? Я считаю, что должен быть какой-то способ, потому что структура сущностей может делать это с помощью своих внутренних запросов.

...