2016-03-17 1 views
0

Я использовал для получения нескольких таблиц (в моем старом проекте aspx), возвращенных из одной хранимой процедуры, путем получения набора данных в DataSet ds, напримерASP MVC - как отделить таблицы (полученные от хранимой процедуры) с использованием имен таблиц

DataTable dt1 = ds.Tables["tabe_name1"]; DataTable dt2 = ds.Tables["tabe_name2"]

я могу получить таблицу, используя модель, если только одна таблица возвращается, используя функцию

con.Query<ModelName>("STORED_PROCEDURE", param, commandType: CommandType.StoredProcedure);

Как я могу это сделать в MVC с помощью щеголеватый?

Спасибо :)

ответ

2

Чтобы получить несколько сеток вы должны использовать:

using(var multi = conn.QueryMultiple(...)) { 
    // see below 
} 

Внутри «смотрите ниже», вы можете получить доступ к каждой сетке в свою очередь, только один раз - они не названы , Например:

using(...) { 
    var orders = multi.Read<Order>().AsList(); 
    var custs = multi.Read<Customer>().AsList(); 
} 
0

@Marc, они также работали на меня, пока я пробовал ваш ответ.

var orders = multi.Read<Order>().Single<Order>(); var orders = multi.Read<Order>().ToList<Order>(); var orders = multi.Read<string>().Single<string>(); // этот третий работал так, как если бы вызывал ExecuteScalar в проектах aspx, т. Е. Для получения значения ячейки (0,0).