我有一个包含5列的数据表,其中一行填充数据,然后通过事务保存到数据库.
保存时,会返回错误:
将datetime2数据类型转换为日期时间数据类型会导致超出范围的值
这意味着,正如所读,我的数据表有一种类型DateTime2和我的数据库a DateTime; 那是错的.
日期列设置为DateTime如下所示:
new DataColumn("myDate", Type.GetType("System.DateTime"))
题
这可以在代码中解决,还是必须在数据库级别上进行更改?
我的HomeController中有以下代码:
public ActionResult Edit(int id)
{
var ArticleToEdit = (from m in _db.ArticleSet where m.storyId == id select m).First();
return View(ArticleToEdit);
}
[ValidateInput(false)]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Article ArticleToEdit)
{
var originalArticle = (from m in _db.ArticleSet where m.storyId == ArticleToEdit.storyId select m).First();
if (!ModelState.IsValid)
return View(originalArticle);
_db.ApplyPropertyChanges(originalArticle.EntityKey.EntitySetName, ArticleToEdit);
_db.SaveChanges();
return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)
这是Edit方法的视图:
<% using (Html.BeginForm()) {%>
<fieldset>
<legend>Fields</legend>
<p>
<label for="headline">Headline</label>
<%= Html.TextBox("headline") %>
</p>
<p>
<label for="story">Story <span>( HTML Allowed )</span></label>
<%= Html.TextArea("story") %>
</p>
<p>
<label for="image">Image …Run Code Online (Sandbox Code Playgroud) 我首先在我的asp.net mvc应用程序中使用EF代码.这是我的代码:
Request.RequestDate = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)
RequestDate的类型是我的数据库中的datetime.这是我使用上面代码时发生的错误!:
将datetime2数据类型转换为日期时间数据类型会导致超出范围的值.
请帮我.谢谢.
c# entity-framework sql-server-2008 ef-code-first entity-framework-4.3