Hallo ihr Lieben,
ich bin grade dabei eine Webseite (MVC) zu schreiben und habe dort eine Datenbank über Code First Migration und das EF eingebunden.
Ich war noch viel mit der Geschäftslogik beschäftigt und da haben sich im Laufe der Zeit einige Modelle geändert. Unter anderem wurde das "Problemmodell" umbenannt (GameProfileFieldEntries => GameProfileFieldEntry).
Rufe ich jetzt den zugehörigen Controller auf, kommt folgende Fehlermeldung: (Anhang, Oberer Teil)
Das Model:
public class GameProfileFieldEntry
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int GameProfileFieldEntryId { get; set; }
public GamesModel Game { get; set; }
public String Label { get; set; }
public GameProfileFieldType Type { get; set; }
}
Der DBContext:
public class GameProfileFieldEntryContext : DbContext
{
public GameProfileFieldEntryContext() : base("name=GameProfileFieldEntryContext")
{}
public System.Data.Entity.DbSet<PAYP.Models.Games.GameProfileFieldEntry> GameProfileFieldEntries { get; set; }
}
Im Serverexplorer habe ich auch noch die Struktur der aktuellen Datenbanktabelle rausgesucht:
(Anhang, Unterer Teil)
also ich habe schon versucht über die PM-Konsole über "Enable-Migrations", "Add-Migration", "Update-Database" die Datenbank zu updaten, aber dann findet er keine Änderungen.
Würde mich über jeden Tipp freuen.
Gruß
Neokil
Es sieht so bequem aus aber es ist alles andere als empfehlenswert, dass Entities in die View geführt werden - auch wenn das MS in ihren Beispielen so zeigt.
[Artikel] Drei-Schichten-Architektur - ASP.NET MVC – Arbeiten mit View- und SubmitModels
Das gilt auch für die WebAPI.
PS: schau Dir hier evtl. mal OData an, das Dir einen Standard für REST bietet.
Zum Fehler: nutzt Du evtl. einen Context für mehrere Threads?
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Also der Context wird nur von dem einen Controller verwendet.
Kann ich evtl. die Datenbank irgendwie löschen und neu erstellen?
Klar kannst du das. Ich mache das immer über das Management-Studio. Sollte aber auch über das VS gehen.
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
ja was muss ich da machen beim löschen?
Alle Tabellen aus der DB rauswerfen?
Das Maximale ist das Droppen des Schemas, dann erstellt das EF das Schema bei der ersten Verwendung neu (Default Einstellung).
Wäre mir aber neu, dass das dieses hier beschriebene Problem lösen soll.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Sehr seltsam, ich habe die Datenbanktabellen gelöscht, kein Erfolg.
Habe dann den DBContext gelöscht und neu angelegt und jetzt funktioniert es...