Клиент получает ошибку при запуске моего кода. Мне прислали SQL от профилдера.
Когда я вставляю его в SQL Server Management Studio, происходит сбой с: Ошибка преобразования типа данных varchar в datetime
Однако, это не дает сбоя, когда я запускаю его на своем локальном компьютере разработчика или на другом клиентском сервере.
Для тестирования я создал простое приложение с L2S-текстом данных, содержащим одну сущность, которая выглядит примерно так:
public class UserAccount
{
public int Id { get; set; }
public string Username { get; set; }
public DateTime? LastActivity { get; set; }
}
Вставьте запись, а затем обновите ее:
var account = db.UserAccounts.Single(a => a.Username == "Mojo");
account.LastActivity = DateTime.Now;
db.SubmitChanges();
Записи обновляются в базе данных. Но когда я беру T-SQL из Profiler:
exec sp_executesql N'UPDATE [UserAccount] SET [LastActivity] = @p2 WHERE ([Id] = @p0) AND ([Username] = @p1) AND ([LastActivity] IS NULL)',N'@p0 int,@p1 nvarchar(4),@p2 datetime',@p0=1,@p1=N'Mojo',@p2='2009-11-10 14:04:41.7470000'
и выполнить его в SQL Server Management Studio. Я получаю: Ошибка преобразования типа данных varchar в datetime
Что мне не хватает?