Внутреннее объединение с NetTiers

2

Сегодня я выполняю обзор различных инструментов 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. Можете ли вы?

(ps: использование VS2008 SP1 и SQLServer2008 SP1)

Теги:
.nettiers

2 ответа

3
Лучший ответ

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

0

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

  • 0
    Я знаю, но это исправит проект для конкретного поставщика. NHibernate или LLBLGenPro использует свой собственный язык объектных запросов, чтобы сделать это, и это не зависит от БД

Ещё вопросы

Сообщество Overcoder
Наверх
Меню