Dapper Correct Object / Aggregate Mapping

Недавно я начал оценивать 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?

7
задан ROMANIA_engineer 20 June 2017 в 20:47
поделиться