Генерировать сложный SQL с помощью любого ORM

#linq #orm #code-generation

#linq #orm #генерация кода

Вопрос:

Следуя другому вопросу, который я только что задал…

Как бы сильно я ни любил LINQ и другие ORM за скорость разработки, я нахожу, что на самом деле генерировать сложный SQL довольно сложно / невозможно / медленнее (с точки зрения скорости разработки).

Под сложным я подразумеваю более продвинутый SQL, такой как CTE, инструкции слияния, подсказки к запросам и т.д…

Может ли это быть сделано любым существующим продуктом ORM? (Я использовал исключительно MS-L2S)

Я нахожу все больше и больше, чем прибегаю к написанию SPROC и вызову его через LINQ… На данный момент, похоже, это лучшее из обоих миров… :/

Ответ №1:

NHibernate позволяет вам писать собственный SQL-код. Я уверен, что эту функцию следует использовать только тогда, когда вам действительно нужны какие-то сложные вещи, с которыми ORM не в состоянии справиться должным образом.

Разве у EF нет аналогичной функции?

Комментарии:

1. Это делает — ObjectContext. ExecuteStoreCommand ( msdn.microsoft.com/en-us/library / … ) — это один из способов, хотя вы также можете легко выполнить обычную DbCommand.