Фильтрация набора данных в шаблоне проектирования репозитория C#C#

Место общения программистов C#
Ответить
Anonymous
 Фильтрация набора данных в шаблоне проектирования репозитория C#

Сообщение Anonymous »

У меня есть идеальный запрос, приведенный ниже

Код: Выделить всё

SELECT
MAX(WarehouseId)       AS WareHouseId,
MAX(CompanyId)         AS CompanyId,
MAX(ProductId)         AS ProductId,
SUM(AvailableQuantity) AS AvailableQuantity,
PurchaseItemPrice
FROM
PurchaseItem
WHERE
CompanyId = 1
GROUP BY
PurchaseItemPrice
ORDER BY
MAX(ProductId) ASC
Который мне нужно преобразовать в указанный ниже формат вместо linq. Я действительно не знаю, как называется приведенный ниже формат. Пожалуйста, также скажите мне, как мы можем назвать этот формат, и если это не лучший подход для получения данных, предложите что-нибудь получше, потому что я новичок в шаблоне проектирования репозитория.

Код: Выделить всё

unitOfWork.PurchaseItemRepository.DataSet
.Where( x => x.CompanyId == id )
.ToList()
.GroupBy( x => x.PurchaseItemPrice )
.Select( x =>
x.Max( y => new
{
y.WarehouseId,
y.CompanyId,
y.ProductId,
y.AvailableQuantity
} )
);

public IRepository
 PurchaseItemRepository
{
get
{
if (_PurchaseItemRepository == null)
{
dbContext.Configuration.ProxyCreationEnabled = false;
_PurchaseItemRepository = new Repository(dbContext);
}
return _PurchaseItemRepository;
}
}
И ProductItem является сущностью

Более того, когда я выполнил приведенный выше код, он отобразит приведенную ниже ошибку.


Исключение типа «System.ArgumentException» произошло в mscorlib.dll, но не было обработано пользователем код. Дополнительная информация: хотя бы один объект должен реализовывать IComparable.


Подробнее здесь: https://stackoverflow.com/questions/499 ... rn-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»