Как я могу увидеть входные данные для запроса LINQ? - PullRequest
1 голос
/ 13 мая 2009

У меня есть запрос LINQ, который выглядит следующим образом (в конце):

var query = from myTable0 ... where myTable1.attributeId == 123 && (bunchaStrings.Contains(myTable1.attributeName)) && myTable2.yesNoValue == 'Y'

Когда я вижу запрос, он превращается в этот

SELECT ... FROM ... INNER JOIN ... WHERE ... AND (UNICODE([t3].[yesNoValue]) = @p3

Итак, здесь происходит то, что значение «Y» превращается в «89» с помощью функции UNICODE. Это все нормально, но мне бы очень хотелось просто увидеть значение @ p3 напрямую, и я не могу понять, как увидеть это значение с помощью любых методов, доступных в моей переменной.

Ответы [ 2 ]

1 голос
/ 13 мая 2009

Вас также может заинтересовать LINQ to SQL Visualizer: http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx

1 голос
/ 13 мая 2009

Я бы порекомендовал передать сгенерированный SQL в окно вывода. Там вы сможете увидеть весь SQL и значения ваших параметров. Тогда это может также быть зарегистрировано.

Код для этого можно найти здесь -> http://www.u2u.info/Blogs/Kris/Lists/Posts/Post.aspx?ID=11

Или более простой способ (если у вас есть удобная консоль):

 MyDataContext context = new MyDataContext()
 context.Log = Console.Out
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...