LINQ TO SQL, ADO.NET Entity Framework, T-SQL - PullRequest
1 голос
/ 21 апреля 2010

Привет,

У меня есть несколько приложений / веб-сайтов, работающих с LINQ to SQL, и на днях я решил пойти дальше и оптимизировать некоторые запросы и т. Д., И обнаружил, что размер для типов данных переменной длины получается вместо значения параметра фактического размера столбца?

например, столбец определен как nvarchar (30). когда я использую linq для запроса этого столбца со значением длиной 5 символов, параметр в sp_executesql будет определен как nvarchar (5) ... это приводит к увеличению объема кэша основной процедуры даже для небольшого служебного сайта, который имеет много запросов

есть ли способ оптимизировать это?

BR

1 Ответ

1 голос
/ 21 апреля 2010

В EF 1 это то же самое, что и поведение L2S, которое вы видите. В EF 4 используется длина по умолчанию 4000 , поэтому запрос не будет переполнять кэш для различных значений параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...