Не совсем так, как LoadWith, но, на мой взгляд, приведенный ниже подход еще лучше / чище (меньше волшебства). В вашем BO сделайте статическую функцию, которая будет выглядеть так:
public static Parent Build(Parent parent, Child child)
{
parent.Child = child;
return parent;
}
Теперь вам нужно написать запрос LINQ следующим образом:
var query = from p in db.Parent
select Parent.Build(p, p.Child);
Таким образом, вместо «select p» или «select new Parent ()» мы разрешаем статической функции возвращать «p», но также присваиваем объект Child «parent.Child» перед возвратом. Пока ваши ассоциации настроены правильно (BLToolkit.Mapping.Association), p.Child будет указывать BLT также присоединяться к дочерней таблице. Вы могли бы пойти еще дальше, то есть p.Child.Friends.etc.