Ich möchte meine bearbeiten, um Datenbank zu speichern und ich bin mit Entity FrameWork Code-First in ASP.NET MVC 3 / C#, aber ich bin immer Fehler. In meiner Ereignisklasse habe ich die Datentypen DateTime und TimeSpan, aber in meiner Datenbank habe ich Datum bzw. Uhrzeit. Könnte dies der Grund sein? Wie kann ich vor dem Speichern von Änderungen in der Datenbank den entsprechenden Datentyp im Code verwenden?
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; }
}
Methode in der Steuerung >>>> Problem bei 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);
}
}
mit
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 Datenbank / T-SQL
EventDate (Datatype = date)
StartTime (Datatype = time)
EndTime (Datatype = time)
Http-Formular
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
Serverfehler in der Anwendung '/'.
Validierung für eine oder mehrere Entitäten fehlgeschlagen. Siehe Eigenschaft 'EntityValidationErrors' für weitere Details.
Beschreibung: Während der Ausführung der aktuellen Webanfrage ist eine unbehandelte Ausnahme aufgetreten. Bitte überprüfen Sie den Stack-Trace für weitere Informationen über den Fehler und wo er im Code entstanden ist.
Details zur Ausnahme: System.Data.Entity.Validation.DbEntityValidationException: Validierung für eine oder mehrere Entitäten fehlgeschlagen. Siehe Eigenschaft 'EntityValidationErrors' für weitere Details.
Fehlerquelle:
Line 75: if (TryUpdateModel(theEvent))
Line 76: {
Line 77: storeDB.SaveChanges();
Line 78: return RedirectToAction("Index");
Line 79: }
Quelldatei: C:\sep\MvcEventCalendar\MvcEventCalendar\Controllers\EventManagerController.cs Zeile: 77
Stack Trace:
[DbEntityValidationException: Validierung für eine oder mehrere Entitäten fehlgeschlagen. Siehe Eigenschaft 'EntityValidationErrors' für weitere Details].