У меня есть интерфейс
public interface IStoreItem
{
decimal Price { get; }
}
И класс, который его реализует.
public class ProductShell : IStoreItem
{
EFDbContext repository = new EFDbContext();
public int ShellID { get; set; }
public bool? Published { get; set; }
public decimal Price { get { return repository.ShellMembers.Where(x => x.ShellID == ShellID).Select(x => x.Product.ListPrice).Sum(); } }
}
Цена установлена правильно, однако, когда я пытаюсь сделать OrderBy по возрастанию (по умолчанию)) Я не вижу никаких изменений в списке и элементы остаются на своих прежних позициях.Будучи объектами ProductShell, для которых установлено свойство Price, они по-прежнему упорядочены от высшего к низшему, а не наоборот.
List<IStoreItem> StoreItems = new List<IStoreItem>();
StoreItems.AddRange(repository.ProductShells.Where(x => x.Published != null));
StoreItems.OrderBy(x => x.Price);