samkernel Ответов: 2

Как преобразовать инструкцию LINQ в SQL-запрос?


What is the equivalent SQL query fron following LINQ statement??

.DatasetProductInfo.Category.GetAccessibleRows().OrderBy(Function(x) If(Val(x.CatagoryId).Equals(0), Double.MaxValue, Val(x.CatagoryId))).ThenBy(Function(x) row.CatagoryId).Select()

Note:
Val() is the vb.net function that returns number(s) from the alphanumeric value. 
For example, Val(12foo) returns 12 only.

Thanks !

2 Ответов

Рейтинг:
16

Zoltán Zörgő

Есть отличный инструмент под названием Помощью linqpad[^]. Загрузите и установите его. Бесплатной версии будет более чем достаточно.
подготовьте правильное соединение данных, чтобы вы могли выполнить свой запрос LINQ. В этот момент нажмите на представление "SQL", и вы увидите сгенерированные операторы SQL (например здесь[^]).

Но если этот запрос выполняется на LINQ to Objects bot, а не на LINQ to EF или LINQ to SQL, он также не будет выполняться в LinqPad. В этом случае вам, вероятно, придется использовать некоторые Функции SqlFunctions[^], или если этого недостаточно. Если этого все еще недостаточно, вы можете иметь первый проход по SQL/EF (фильтруя столько, сколько сможете), чем после ToList() у вас есть все, что доступно на объектах в качестве второго прохода.


Рейтинг:
1

Member 12162677

Как преобразовать инструкцию SQL в инструкцию LINQ, вы можете помочь в этом. Я не смог найти опцию LINQ в окне результатов.