Недавно я начал оценивать Dapper как потенциальную замену EF, так как мне не очень нравился генерируемый SQL, и я хотел больше контролировать его. У меня вопрос относительно сопоставления сложного объекта в моей модели предметной области. Скажем, у меня есть объект с именем Provider, Provider может содержать несколько свойств типа IEnumerable, к которым можно получить доступ только через родительский объект поставщика (т.е. совокупный корень). Я видел похожие сообщения, в которых объяснялось использование метода расширения QueryMultiple и Map, но мне было интересно, как, если бы я хотел написать метод, который бы возвращал весь загруженный граф объекта, если бы Dapper мог сделать это одним махом или если это нужно было делать по частям. В качестве примера допустим, что мой объект выглядел примерно так:
public AggregateRoot
{
public int Id {get;set;}
...//simple properties
public IEnumerable<Foo> Foos
public IEnumerable<Bar> Bars
public IEnumerable<FooBar> FooBars
public SomeOtherEntity Entity
...
}
Есть ли простой способ заполнения всего графа объекта с помощью Dapper?