Использование ADO.NET Entities LINQ Provider для моделирования сложных запросов SQL? - PullRequest
1 голос
/ 15 июня 2010

Что мне действительно нравится в ADO.NET Entities или LINQ to SQL , так это возможность моделировать сложные запросы.Мне действительно не нужны сопоставления, которые Entities или LINQ to SQL делают для меня - мне просто нужна способность моделировать сложные выражения , которые можно перевести в T-SQL .

Мой вопрос - слишком ли я злоупотребляю?Могу ли я использовать Entity Framework для моделирования запросов и только это?Нужно ли мне?Я знаю, что могу написать свой собственный пользовательский поставщик LINQ to SQL, но это просто невозможно обработать за те промежутки времени, которые у меня есть.

Каков наилучший подход к моделированию сложных запросов T-SQL?Как вы обрабатываете условные групповые предложения, заказы, объединения, союзы и т. Д. В мире ООП?Использование StringBuilders для такой работы кажется слишком уродливым и трудным для поддержки, учитывая возможности, которые мы имеем с Деревья выражений .

Когда я использую StringBuilder для моделирования сложного SQL-запроса, я чувствую себя немного виноватым!Я чувствую то же самое, что и когда мне приходится жестко кодировать любое число в моем коде, отличное от 0 или 1. Чувство, которое заставляет вас спросить себя, есть ли лучший и более чистый способ сделать это ...

Я должен упомянуть, что я использую C # 4.0, но я специально не ищу ответ на этом языке, а скорее в области CLR 4. Существуют ли реальные корпоративные библиотеки, которые могут помочь в создании сложного SQL во время выполнения?

1 Ответ

0 голосов
/ 15 июня 2010

Если вам проще (не говоря уже о том, что вы менее подвержены ошибкам) ​​составлять запрос в LINQ, а не в T-SQL, то почему бы и нет?

Не существует написанного закона, который гласит, что вы не можете использовать EF или L2S, чтобы помочь вам написать T-SQL, а затем просто выключите и выполните T-SQL напрямую.

На самом деле я думаю, что это имеет большой смысл.

Не чувствуй себя виноватым!

...