Я хочу загрузить 3 разные модели из SQL Серверной хранимой процедуры, которая возвращает 3 разные таблицы, например:
select A.id, A.Name from tableA A
select B.id, B.Age from tableB B
select C.Test, C.Param from tableC C
Обычно я бы обрабатывал одну хранимую процедуру с помощью Entity Framework Core, например: это:
Контекст:
public virtual DbQuery<StoredProcedureModel> spModel{ get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Query<StoredProcedureModel>(entity =>
{
entity.Property(e => e.Id)
.HasColumnName("Id");
entity.Property(e => e.Name)
.HasColumnName("Name");
}
Репозиторий:
return _context.StoredProcedureModel.FromSql<StoredProcedureModel>("GET_ID_NAME @ID,@NAME",
new SqlParameter("@ID", ID), new
SqlParameter("@NAME", Name))
.ToList();
Это просто фиктивный пример, но я хотел знать, есть ли способ загрузить все 3 таблицы в 3 разных моделях (некоторые из возвращенных таблиц имеют одинаковые имена столбцов, например, "id").