净,我想插入一个实体的行,我不断收到以下错误:SQL日期时间溢出
SqlDateTime溢出。必须介于1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。
这里是我的C#端代码:
public static void DumpToLog(string s, string userID)
{
var ler = new LoggedExceptionRepository();
var lex = new LoggedException();
lex.loginID = userID;
lex.dateTime = DateTime.Now;
lex.text = s;
ler.Add(lex);
ler.Save();
}
我试着运行SQL Server事件探查器,它执行的唯一的事情是前述以下(其中,如果我直接执行对SQL服务器,它的作品! ):
exec sp_executesql N'insert [dbo].[LoggedExceptions]([text], [loginID], [dateTime])
values (@0, @1, @2)
select [ID]
from [dbo].[LoggedExceptions]
where @@ROWCOUNT > 0 and [ID] = scope_identity()',N'@0 nvarchar(max) ,@1 varchar(50),@2 datetime',@0=N'payment failed, rv = 0',@1='riz',@2='2010-11-03 12:05:00:690'
有关我接下来可以做什么的任何建议?
是的,我试过了。就像我说的那样,它生成的sql对数据库执行得很好。我不知道到底发生了什么错误。 – Riz 2010-11-03 19:26:24
您也可以尝试硬编码loginID和文本作为日期,以查看参数值序列是否已被搞乱 – Beth 2010-11-03 19:29:27
这是不可能的,因为插入数据库的代码是由实体框架 – Riz 2010-11-03 19:38:43