ฉันต้องการบันทึก Edit to Database และฉันใช้ Entity FrameWork Code-First ใน ASP.NET MVC 3 / C # แต่ฉันได้รับข้อผิดพลาด ในคลาสกิจกรรมของฉันฉันมี DateTime และ TimeSpan datatypes แต่ในฐานข้อมูลของฉันฉันมี Date and time ตามลำดับ นี่อาจเป็นเหตุผลหรือไม่ ฉันจะส่งไปยังประเภทข้อมูลที่เหมาะสมในรหัสก่อนบันทึกการเปลี่ยนแปลงในฐานข้อมูลได้อย่างไร
public class Event
{
public int EventId { get; set; }
public int CategoryId { get; set; }
public int PlaceId { get; set; }
public string Title { get; set; }
public decimal Price { get; set; }
public DateTime EventDate { get; set; }
public TimeSpan StartTime { get; set; }
public TimeSpan EndTime { get; set; }
public string Description { get; set; }
public string EventPlaceUrl { get; set; }
public Category Category { get; set; }
public Place Place { get; set; }
}
วิธีการในตัวควบคุม >>>> ปัญหาที่ storeDB.SaveChanges ();
// POST: /EventManager/Edit/386
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
var theEvent = storeDB.Events.Find(id);
if (TryUpdateModel(theEvent))
{
storeDB.SaveChanges();
return RedirectToAction("Index");
}
else
{
ViewBag.Categories = storeDB.Categories.OrderBy(g => g.Name).ToList();
ViewBag.Places = storeDB.Places.OrderBy(a => a.Name).ToList();
return View(theEvent);
}
}
กับ
public class EventCalendarEntities : DbContext
{
public DbSet<Event> Events { get; set; }
public DbSet<Category> Categories { get; set; }
public DbSet<Place> Places { get; set; }
}
ฐานข้อมูล SQL Server 2008 R2 / T-SQL
EventDate (Datatype = date)
StartTime (Datatype = time)
EndTime (Datatype = time)
แบบฟอร์ม Http
EventDate (Datatype = DateTime) e.g. 4/8/2011 12:00:00 AM
StartTime (Datatype = Timespan/time not sure) e.g. 08:30:00
EndTime (Datatype = Timespan/time not sure) e.g. 09:00:00
ผิดพลาดเซิร์ฟเวอร์ใน '/' แอพลิเคชัน.
การตรวจสอบล้มเหลวสำหรับเอนทิตีอย่างน้อยหนึ่งรายการ ดูคุณสมบัติ 'EntityValidationErrors' สำหรับรายละเอียดเพิ่มเติม
คำอธิบาย: มีข้อยกเว้นที่ไม่สามารถจัดการได้เกิดขึ้นระหว่างการดำเนินการตามคำขอเว็บปัจจุบัน โปรดตรวจสอบการติดตามสแต็กสำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดและที่มาในรหัส
รายละเอียดข้อยกเว้น: System.Data.Entity.Validation.DbEntityValidationException: การตรวจสอบล้มเหลวสำหรับเอนทิตีหนึ่งรายการขึ้นไป ดูคุณสมบัติ 'EntityValidationErrors' สำหรับรายละเอียดเพิ่มเติม
ข้อผิดพลาดของแหล่งที่มา:
Line 75: if (TryUpdateModel(theEvent))
Line 76: {
Line 77: storeDB.SaveChanges();
Line 78: return RedirectToAction("Index");
Line 79: }
ไฟล์ต้นฉบับ: C: \ sep \ MvcEventCalendar \ MvcEventCalendar \ Controllers \ EventManagerController.cs บรรทัด: 77
กองติดตาม:
[DbEntityValidationException: การตรวจสอบล้มเหลวสำหรับเอนทิตี้อย่างน้อยหนึ่งรายการ ดูคุณสมบัติ 'EntityValidationErrors' สำหรับรายละเอียดเพิ่มเติม]