У меня была проблема со следующим кодом. Когда я не вызываю ToList()
при первоначальном вызове RavenSession.Query<Item>()
, свойство PhotoPath
является нулевым в объекте ItemSummaryModel
. Это ленивая проблема с загрузкой или что-то еще, что вызывает это?
Свойство PhotoPath
было нулевым при первоначальном сохранении этого документа. Затем я обновил его в последующем редактировании.
Когда я запрашиваю полный элемент вместо выбора нового объекта, он работает, как и ожидалось, заполняя все свойства.
Почему я должен был принудительно выполнить запрос с ToList()
, чтобы новый ItemSummaryModel
был заполнен как ожидалось?
var fullItems = RavenSession.Query<Item>().ToList();
var items = (from i in fullItems
where i.DateAdded >= DateTime.Now.Subtract(new TimeSpan(10,0,0,0))
orderby i.DateAdded
select new ItemSummaryModel()
{
Id = i.Id,
PhotoPath = i.ListingPhotoPath,
MarketingInfo = i.MarketingInfoShort,
Name = i.Name,
Summary = i.Summary,
PriceTypeCode = i.ClearancePrice > 0 ? PriceType.Clearance : (i.SalePrice > 0 ? PriceType.Sale : PriceType.List),
ListSaleOrClearancePrice = i.ClearancePrice > 0 ? i.ClearancePrice : (i.SalePrice > 0 ? i.SalePrice : i.Price)
}).Take(nbrOfItems);
return items;