Я занимаюсь разработкой страницы ASP.NET и использую LINQ для работы с сервером MS SQL. Я в порядке с базовым SQL, но мне намного лучше разрабатывать запросы с помощью LINQ. Я знаю, что они похожи, но мне легче разрабатывать сложные запросы в LINQ. Мой вопрос заключается в следующем: есть ли способ спроектировать запрос в LINQ, а затем получить SQL, который он сгенерировал? Я хотел бы встроить SQL в хранимую процедуру, поскольку несколько страниц (вне моего контроля) должны будут делать один и тот же запрос.Есть ли способ получить SQL, созданный с помощью запроса LINQ?
ответ
Да. Контекст базы данных LINQ имеет свойство Log, которое выводит SQL-код, который он выполнил. Вы также можете сделать это через бесплатный продукт LinqPad и коммерческий продукт Linqer.
Вы также можете использовать DataContext.GetCommand (query). – itowlson
Вы можете получить его 2 способами:
- Использование LINQPad
использование ToString() на запрос, чтобы получить его SQL форму:
уаг запрос = от х в SomeTable где х .SomeField == 5 выберите x.SomeOtherField; Console.WriteLine (query.ToString());
Если вы хотите получить более подробную информацию в углубленном, то вы можете использовать Linq to Sql Profiler, который будет отображать все запросы, а также alerts
При написании заявления Linq, которые выполняются на SQL Server, всегда глазок их в Профилировщик SQL Server. Интерпретация, выполняемая внутри SQL, часто вас удивляет.
В инструментах производительности/Профилировщик SQL Server запускает новую трассировку.
Выполните запрос в вашем приложении, захватить выход из Profiler Вставить в анализатор запросов SQL Server
- 1. Есть ли способ сделать это с помощью запроса LINQ?
- 2. Есть ли способ выгрузить обработчик событий, созданный с помощью window.addEventListener?
- 3. Есть ли способ получить информацию о сервере с помощью SQL
- 4. Есть ли способ использовать Linq для Oracle
- 5. Есть ли способ узнать, есть ли уже созданный IWin32Window?
- 6. Linq: есть ли какой-либо конкретный способ запуска запроса?
- 7. Oracle: Есть ли способ получить последние синтаксические ошибки SQL?
- 8. Есть ли кеш с поддержкой запроса Linq
- 9. Есть ли способ переименовать класс, созданный D3?
- 10. Есть ли простой способ отфильтровать уникальные элементы с помощью linq?
- 11. Есть ли лучший способ для объединения словаря с помощью LINQ?
- 12. Есть ли лучший способ разделить эту строку с помощью LINQ?
- 13. Есть ли способ объединить два запроса LINQ в один?
- 14. Есть ли способ суммировать SQLFunction.DateDiff внутри запроса LINQ?
- 15. Есть ли способ предотвратить автоматическое форматирование SQL запроса SQL Server?
- 16. Можно ли получить эти данные с помощью одного запроса linq?
- 17. Есть ли способ получить дату обновления в linq и C#?
- 18. Есть ли способ получить выпадающее выбранное значение с помощью модели
- 19. Есть ли способ заполнить форму с помощью строки запроса?
- 20. Есть ли способ увеличить список с помощью одного запроса?
- 21. Есть ли способ извлечь пользовательский заголовок запроса с помощью cgicc
- 22. Есть ли способ передать ссылку html с помощью запроса TSQL?
- 23. Есть ли способ принудительно перезагрузить страницу с помощью JavaScript-запроса?
- 24. Как написать запрос linq из SQL-запроса с помощью LINQ?
- 25. LINQ to SQL - есть ли способ получить «предварительный просмотр» базы данных с изменениями, внесенными в контекст?
- 26. Есть ли способ запроса по типу с использованием System.Linq.Dynamic
- 27. Как получить последний созданный подкаталог с помощью linq?
- 28. LINQ/LINQ-to-SQL: Есть ли способ генерировать SQL, используя объединенный фильтр «где»?
- 29. Каков самый быстрый способ запроса базы данных с помощью LINQ?
- 30. Есть ли способ получить содержимое/значение html с помощью php?
LINQ к SQL? LINQ для объектов? LINQ к чему-то еще? (Все они, кстати, уже неоднократно отвечали на этом сайте, вы можете попробовать выполнить поиск.) –