A client is getting an error when running my code. They sent me the SQL from profilder.
When I paste it into SQL Server Management Studio it fails with: Error converting data type varchar to datetime
However it doesn't fail when I run it on my local dev box or another clients production sever.
To test I created a simple app with a L2S datacontext containing one entity that looks something like:
public class UserAccount
{
public int Id { get; set; }
public string Username { get; set; }
public DateTime? LastActivity { get; set; }
}
Insert a record and then update it:
var account = db.UserAccounts.Single(a => a.Username == "Mojo");
account.LastActivity = DateTime.Now;
db.SubmitChanges();
The records gets updated in the database. But when I grab the T-SQL from 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'
and execute it in SQL Server Management Studio I get: Error converting data type varchar to datetime
What am I missing?