Несколько наборов возврата из хранимой процедуры. NET Core & Entity Framework - PullRequest
0 голосов
/ 05 февраля 2020

Я хочу загрузить 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").

...