我最近開始評估Dapper作爲EF的潛在替代品,因爲我對生成的SQL並不太滿意,並希望對它進行更多的控制。我有一個關於在我的域模型中映射覆雜對象的問題。比方說,我有一個名爲Provider的對象,Provider可以包含IEnumerable類型的多個屬性,只應通過父提供者對象(即聚合根)來訪問它。我已經看過類似的帖子,它們使用QueryMultiple和Map擴展方法進行了解釋,但是想知道如果我想編寫一個方法可以使整個對象圖急切加載,如果Dapper能夠一舉完成或者如果它需要完成零食。作爲一個例子可以說,我的目標看起來像下面這樣: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
...
}
是否有填充用小巧玲瓏的整個對象圖的一種簡單的方法?
您將不得不爲此構建一些手動擴展,沒有內置的圖發現和自動SQL生成方法 –
感謝您的回覆Sam,那麼不是自動的解決方案,而是使用SQL查詢?那可能嗎?另外,如何處理SO呢?或者生成單獨的查詢來處理這種類型的關係和複雜性? – mreyeros
大家下午好,我只是另一個快速問題,我注意到在Query方法中,我可以使用方法重載之一傳遞多達5個對象。這種方法可以用來產生我在這裏想要做的事嗎,還是我誤解了它的用法? – mreyeros