BLToolkit: несколько наборов результатов? - PullRequest
4 голосов
/ 03 февраля 2011

Я не нашел способа получить два списка объектов из SP с помощью двух операторов select. Возможно ли это с помощью BLToolkit или таким способом можно получить только иерархические данные?

Я пытаюсь заменить набор данных, содержащий две несвязанные таблицы.

1 Ответ

4 голосов
/ 03 февраля 2011

Оказывается, это было действительно просто. :)

Вот как вы возвращаете несколько несвязанных результатов с помощью BLToolkit.

List<Apple> apples = new List<Apple>();
List<Orange> oranges = new List<Orange>();

MapResultSet[] sets = new MapResultSet[2];
sets[0] = new MapResultSet(typeof(Apple), apples);
sets[1] = new MapResultSet(typeof(Orange), oranges); //Make sure both lists are added

//Skip adding relations

using (DbManager db = new DbManager())
{
    db
        .SetSpCommand("usp_Fruit_GetBySomething",
            db.Parameter("someParam", someParam))
        .ExecuteResultSet(sets);
}

foreach(Apple apple in apples)
{
  profit(apple);
}

foreach(Orange orange in oranges)
{
  profit(orange);
}
...