Tôi muốn lưu Chỉnh sửa của mình vào Cơ sở dữ liệu và tôi đang sử dụng Entity FrameWork Code-First trong ASP.NET MVC 3 / C # nhưng tôi đang gặp lỗi. Trong lớp Sự kiện của tôi, tôi có các kiểu dữ liệu DateTime và TimeSpan nhưng trong cơ sở dữ liệu của tôi, tôi đã có Ngày và Giờ tương ứng. Điều này có thể là lý do? Làm cách nào tôi có thể truyền tới kiểu dữ liệu thích hợp trong mã trước khi lưu các thay đổi vào cơ sở dữ liệu.
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; }
}
Phương thức trong bộ điều khiển >>>> Sự cố tại 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);
}
}
với
public class EventCalendarEntities : DbContext
{
public DbSet<Event> Events { get; set; }
public DbSet<Category> Categories { get; set; }
public DbSet<Place> Places { get; set; }
}
Cơ sở dữ liệu SQL Server 2008 R2 / T-SQL
EventDate (Datatype = date)
StartTime (Datatype = time)
EndTime (Datatype = time)
Mẫu 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
lỗi server trong ứng dụng '/'
Xác nhận thất bại cho một hoặc nhiều thực thể. Xem thuộc tính 'EntityValidationErrors' để biết thêm chi tiết.
Mô tả: Một ngoại lệ chưa được xử lý đã xảy ra trong quá trình thực hiện yêu cầu web hiện tại. Vui lòng xem lại dấu vết ngăn xếp để biết thêm thông tin về lỗi và nơi xuất phát trong mã.
Chi tiết ngoại lệ: System.Data.Entity.Validation.DbEntityValidationException: Xác thực thất bại cho một hoặc nhiều thực thể. Xem thuộc tính 'EntityValidationErrors' để biết thêm chi tiết.
Lỗi nguồn:
Line 75: if (TryUpdateModel(theEvent))
Line 76: {
Line 77: storeDB.SaveChanges();
Line 78: return RedirectToAction("Index");
Line 79: }
Tệp nguồn: C: \ sep \ MvcEventCalWiki \ MvcEventCalWiki \ Bộ điều khiển \ EventManagerContoder.cs Dòng: 77
Dấu vết ngăn xếp:
[DbEntityValidationException: Xác thực thất bại cho một hoặc nhiều thực thể. Xem thuộc tính 'EntityValidationErrors' để biết thêm chi tiết.]