Wie kann ich die Verwendung der Tabelle __MigrationHistory in Entity Framework 4.3 Code First deaktivieren?
Ich verwende Entity Framework 4.3 Code First mit einem benutzerdefinierten Datenbankinitialisierer wie folgt:
public class MyContext : DbContext
{
public MyContext()
{
Database.SetInitializer(new MyContextInitializer());
}
}
public class MyContextInitializer : CreateDatabaseIfNotExists<MyContext>
{
protected override void Seed(MyContext context)
{
// Add defaults to certain tables in the database
base.Seed(context);
}
}
Wenn sich mein Modell ändert, bearbeite ich meine POCOs und Zuordnungen manuell und aktualisiere meine Datenbank manuell.
Wenn ich meine Anwendung erneut ausführe, wird folgende Fehlermeldung angezeigt:
Serverfehler in '/' Anwendung.Das Modell, das den Kontext 'MyContext' unterstützt, hat sich seit der Erstellung der Datenbank geändert. Erwägen Sie die Verwendung von Code First Migrations zum Aktualisieren der Datenbank (http://go.microsoft.com/fwlink/?LinkId=238269).Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Überprüfen Sie die Stapelablaufverfolgung, um weitere Informationen zu dem Fehler und dessen Ursprung im Code zu erhalten.
Ausnahmedetails: System.InvalidOperationException: Das Modell, das den Kontext 'MyContext' unterstützt, hat sich seit der Erstellung der Datenbank geändert. Erwägen Sie die Verwendung von Code First Migrations zum Aktualisieren der Datenbank (http://go.microsoft.com/fwlink/?LinkId=238269).
Mit EFProfiler stelle ich auch fest, dass folgende Abfragen ausgeführt werden:
-- statement #1
SELECT [GroupBy1].[A1] AS [C1]
FROM (SELECT COUNT(1) AS [A1]
FROM [dbo].[__MigrationHistory] AS [Extent1]) AS [GroupBy1]
-- statement #2
SELECT TOP (1) [Project1].[C1] AS [C1],
[Project1].[MigrationId] AS [MigrationId],
[Project1].[Model] AS [Model]
FROM (SELECT [Extent1].[MigrationId] AS [MigrationId],
[Extent1].[CreatedOn] AS [CreatedOn],
[Extent1].[Model] AS [Model],
1 AS [C1]
FROM [dbo].[__MigrationHistory] AS [Extent1]) AS [Project1]
ORDER BY [Project1].[CreatedOn] DESC
Wie kann ich das verhindern?