最近,我开始评估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填充整个对象图?