Я использую 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
? Я считаю, что должен быть какой-то способ, потому что структура сущностей может делать это с помощью своих внутренних запросов.