Существует ли ORM , привязанный к MS SQL 2008+, генерирующий код .NET, который использует преимущества специфических функций MS SQL?
Меня особенно интересуют 2 функции:
(1) выборка группы записей по их ключу, который не будет сопоставлен с запросом "выбрать в".
-это может быть достигнуто с помощью OPENXML
в 2005+ или с помощью Табличные параметры в 2008 + + 1013 *
(2) вставка более одной записи с одним запросом к БД (это похоже на, но не то же самое, что Bulk-Insert). Например:
Customer[] customers = CreateSomeCostomers();
dataManager.Save(customers);
Таким образом, связанный с SQL код готовится на клиенте, а затем полностью отправляется на сервер SQL.
Кстати, о хранимых процедурах не может быть и речи.
Я был бы рад, если бы вы, стекировщики, посоветовали мне.
Спасибо!
Обновление:
Я ищу complete решение, а не расширяемую среду / продукт, который я мог бы настроить в соответствии со своими потребностями. Так что настраивая NHibernate / linq2sql / etc. написав собственный код, реализация не соответствует моим потребностям.
<ч />
Несколько слов о принятом ответе.
Кажется, что в настоящее время все платформы ORM пытаются охватить более чем одну базу данных / технологию. Поэтому я думаю, что нет готового решения для моих нужд, по крайней мере, ничего из коробки.
Я понимаю, что @Ryk, указывая на Fluent NHibrenate, считает, что такое решение действительно существует, и это вопрос конфигурации. Я посмотрел на исходный код NHibernate и Fluent NHibernate, и я не нашел ничего, что поддерживает функции, которые я ищу. Например, я не смог найти ключевое слово OPENXML
или sp_xml_preparedocument
в обоих исходных кодах. Так что, может быть, я что-то упустил, но я так не думаю. Поскольку награда ограничена по времени, я не могу провести более глубокое расследование в ФН или НХ. Я все еще думаю, что эти функции там не поддерживаются.
Итак, принятый ответ, насколько я понимаю, что такого нет. Наиболее общий ответ, утверждающий, что это ответ @Cade Roux.
Я благодарю всех вас за участие. Ура!