有了以下DDD和存儲庫模式,是否有可能返回聚合根對象及其子數據已包含而不是使用延遲加載?DDD EF知識庫
例如我有一個倉庫實體作爲聚合根,它有一個叫做位置的子對象。
在存儲庫上我有一個方法來查詢位置Id,但傳回倉庫實體。
dim warehouse as Warehouse = warehouseRepository.FindByLocationId(Id as int32).
dim locationName as string = warehouse.location.where(function(x) x.Id = 1).firstordefault.name
當我使用warehouse.location EF使用代理類來觸發另一個數據庫查詢來檢索位置數據。 在我的存儲庫方法中,FindByLocationId是否可以查詢位置數據庫表並將包含位置數據的倉庫實體傳回?
+1的更完整的答案 –
隨着包括聲明其拉回所有的子記錄對於倉庫,我只想顯示我正在查詢的1個子記錄。我嘗試了下面的代碼,但它仍然顯示所有的位置記錄。 Dim wareHouse =(from w In DataContextFactory.GetWMSDBContext.StockWarehouse Join sl In DataContextFactory.GetWMSDBContext.StockLocation on sl.WarehouseID Equals w.Id Where sl.Id = locationId Select w).FirstOrDefault() – user1180223