【发布时间】:2013-03-25 11:48:54
【问题描述】:
我正在尝试在 asp.net 上使用 c# 在 web api 中构建 post 方法 mvc 4.每当我使用提琴手向这个api发布价值时,我都会得到 以下错误:
SqlDateTime 溢出。必须在 1753 年 1 月 1 日凌晨 12:00:00 到 12/31/9999 晚上 11:59:59
我已经在我的 Web API 控制器中编写了以下代码。我也有 创建了数据访问层来访问数据库中的数据
public HttpResponseMessage PostMsg(MsgModel item)
{
if (ModelState.IsValid && item!=null)
{
using (dc = new MsgDataContext())
{
var dbMsg = new Msg()
{
Msg_Title= item.Msg_Title,
Msg_Date = item.Msg_Date,
};
dc.Msgs.InsertOnSubmit(dbMsg);
dc.SubmitChanges();// Getting the above error at this line of code
var response = Request.CreateResponse<MsgModel>(HttpStatusCode.Created, item);
string uri = Url.Link("DefaultApi", new { id = dbMsg.Msg_Id});
response.Headers.Location = new Uri(uri);
return response;
}
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
I am posting the following request body from fiddler by executing the
url http://localhost:65070/api/signup Request Body {
'Msg_Title':"our first msg", 'Msg_Date':"2012/02/23T00:00:00"}
【问题讨论】:
-
调试你的方法我猜
item.Msg_Date是DateTime.Min。或者您在Msg上有一些额外的 DateTime 字段,您没有填写。
标签: asp.net sql-server-2008 asp.net-mvc-4 asp.net-web-api