将datetime2数据类型转换为datetime数据类型时,结果值超出范围。
我的应用程序最近开始显示这个错误,这很奇怪,因为它之前是工作正常的。我没有更改与“Word”模型中的DateTime相关的任何内容。当我向项目添加新模型时,它开始发生。
在尝试编辑数据时,服务器错误会显示出来。创建和删除操作正常。
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "ID,UsersLanguage,OtherLanguage,Notes")] Word word, int idOfCollection)
{
if (ModelState.IsValid)
{
db.Entry(word).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index", new { idOfCollection = idOfCollection });
}
return View(word);
}
模型:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace WebLanguageTeacher.Models.MyDatabase
{
public class Word
{
public int ID { get; set; }
[MinLength(2, ErrorMessage = "Wydaje mi się, że słowo powinno mieć przynajmniej 2 litery ;)")]
[DisplayName("Język Użytkownika")]
[Required]
public string UsersLanguage { get; set; }
[MinLength(2, ErrorMessage = "Wydaje mi się, że słowo powinno mieć przynajmniej 2 litery ;)")]
[DisplayName("Inny język")]
[Required]
public string OtherLanguage { get; set; }
[DisplayName("Notatki")]
public string Notes { get; set; }
[DisplayName("Ostatnia powtórka")]
public DateTime LastReviewed { get; set; }
[DisplayName("Następna powtórka")]
public DateTime NextReview { get; set; }
[DefaultValue(0)]
[DisplayName("Przerwa między powtórkami")]
public int ReviewInterval { get; set; } /*W miejsce Difficulty*/
[DisplayName("Nazwa właściciela")]
public string OwnerName { get; set; }
public virtual Collection Collection { get; set; }
[NotMapped]
public bool ModifyReview { get; set; } /* Klient przesyła tylko za ile dni będzie następna powtórka, serwer sam generuje datę*/
public Word(){
ModifyReview = false;
}
}
}
出了什么问题?我并没有创建任何DateTime2变量,为什么我的应用程序尝试将DateTime2转换为DateTime?
我使用ASP.net MVC与EntityFramework。
SaveChanges()
之前,LastReviewed
和NextReview
的实际值是什么? - haim770DateTime
值超出了 SQL DATETIME 变量的范围(例如:如果它具有其默认值DateTime.MinValue
)。尝试使用调试器逐步执行并检查 LastReviewed / NextReview 的值。 - Joe