Вопрос

Сегодня я провожу обзор различных инструментов ORM и генераторов DAL.Один из них — NetTiers.

У меня есть классическая модель БД с клиентом, заказом, подробностями заказа и т. д.

Я хочу выполнить сложное внутреннее соединение этих таблиц.Это исходный SQL-запрос:

SELECT [Contact].LastName, SUM(OrderRow.Amount * Product.Price) TotalAmount
FROM Contact
    INNER JOIN [Order] ON [Contact].ContactId=[Order].ContactId 
        INNER JOIN [OrderRow] ON [Order].OrderId=[OrderRow].OrderId
            INNER JOIN [Product]ON OrderRow.ProductId=Product.ProductId 
                GROUP BY [OrderRow].OrderId, [Contact].LastName
                    HAVING SUM(OrderRow.Amount * Product.Price) > 100

Я не смог найти способ сделать это в коде с помощью NetTiers.Не могли бы вы ?

(пс:используя VS2008 SP1 и SQLServer2008 SP1)

Это было полезно?

Решение

Вы не можете сделать это без специальной хранимой процедуры.Решение здесь: http://benpowell.org/paging-and-sorting-in-a-nettiers-custom-stored-procedure/

Другие советы

Почему бы не создать для этого собственную хранимую процедуру, nettiers генерирует специальные методы для хранимых процедур в классе TableProvider, после чего вы можете просто вызвать свой метод.в этом случае тип возвращаемого значения метода, вероятно, будет DataSet (не уверен!).Видеть здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top