Как получить размер сущности, извлеченной с помощью репозитория ?
Я хочу получить размер класса сущностей, который извлекается из базы данных с помощью репозитория.
Как это сделать с помощью Vb.net -что ?
Ниже строка вызывает метод GetEntity, который находится в моем InwardService.
Dim Inward As ARI.PurchaseTranEntity.InwardOutward = _InwardService.GetEntity(id)
Итак, то, что я хочу получить, имеет размер Внутрь ?
Мой сервисный код для функции GetEntity выглядит следующим образом -
Public Overrides Function GetEntity(code As Integer) As ARI.PurchaseTranEntity.InwardOutward Try Dim Data = Repository.Query( Function(c) c.Code = code). Include(Function(c) c.InwardOutwardDetails). Include(Function(c) c.AdditionalChargesDetails). Include(Function(c) c.AdditionalChargesDetails.Select(Function(k) k.AdditionalChargesAccount)). Include(Function(c) c.NoteDetails). Include(Function(c) c.AttributeValues). Include(Function(c) c.BusinessPartner). Include(Function(c) c.Currency). Include(Function(c) c.Buyer). Include(Function(c) c.BillToAddress). Include(Function(c) c.ShipToAddress). Include(Function(c) c.Shipper). Include(Function(c) c.PriceList). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.ProductTaggingDetails)). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.ProductTaggingDetails.Select(Function(y) y.Product))). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.UOM)). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.Item).Select(Function(d) d.ItemBarCodeLinks)). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.Item)). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.StockPoint)). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.Tax)). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.Buyer)). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.InwardOutwardAllocationDetails)). Include(Function(c) c.InwardOutwardDetails.Select(Function(x) x.RequisitionFulfillmentDetails)). Select(Function(c) c).SingleOrDefault() Catch ex As Exception Throw ex End Try End Function
Что я уже пробовал:
До сих пор , исследуя это, я узнал, что могу достичь этого с помощью SQL-запроса -
SELECT * INTO dbo.MyTempTable FROM stmItem exec sp_spaceused 'Table' DROP TABLE Table
Выше запрос возвращает требуемый результат -
name rows reserved data index_size unused Table 8978 1296 KB 1264 KB 8 KB 24 KB
Но я хочу 1264 КБ, используя шаблон репозитория. Любая помощь будет оценена по достоинству ?
Richard Deeming
Catch ex As Exception Throw ex
Не делай этого! Вы только что уничтожили трек стека любого выброшенного исключения, что значительно затрудняет поиск реальной причины.
Если вы должны повторно создать исключение, просто используйте
Throw
вместо Throw ex
.Оператор Throw (Visual Basic) | Microsoft Docs[^]
Но в этом случае, поскольку вы ничего не делаете с исключением, вы можете просто удалить
Try..Catch
блок полностью.