Ich habe den folgenden Code in meinem 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");
}
Und dies ist die Ansicht für die Edit-Methode:
<% 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 URL</label>
<%= Html.TextBox("image") %>
</p>
<p>
<input type="submit" value="Post" />
</p>
</fieldset>
<% } %>
Wenn ich auf die Schaltfläche "Senden" klicke, wird folgende Fehlermeldung angezeigt: {"The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.\r\nThe statement has been terminated."}Irgendwelche Ideen, wo das Problem liegt? Ich gehe davon aus, dass die Bearbeitungsmethode versucht, den in der Datenbank veröffentlichten Wert auf den bearbeiteten Wert zu aktualisieren, aber aus irgendeinem Grund gefällt es ihm nicht ... Obwohl ich nicht verstehe, warum das Datum betroffen ist, da es in der nicht erwähnt wird Controller-Methode zum Bearbeiten?

modelBuilder.Entity<WorldInfo>().Property(d => d.CurrentTime).HasColumnType("datetime2");