Оказывается, это было действительно просто. :)
Вот как вы возвращаете несколько несвязанных результатов с помощью 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);
}