BLToolkit: Multiple resultsets?

1.3k views Asked by At

I haven't found a way to retrieve two lists of objects from an SP with two select statements. Is it possible with BLToolkit, or can only hierarchical data be fetched in such a manner?

I'm trying to replace a dataset containing two unrelated tables.

1

There are 1 answers

4
Carl R On BEST ANSWER

It turns out it was really simple. :)

Here's how you return multiple unrelated resultsets using 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);
}