Wir sind in der ersten Entwicklung Anwendung von ef-Kern. Ich bin mir nicht sicher, wie ef Kern Modell Snapshot kommuniziert/fließt mit anderen Komponenten wie Migrationen und Datenbank.Ich weiß nicht, welche zuerst auf die Datenbank entweder Migrationen oder Modell Snapshot angewendet wird und wie überprüft mit Migrationen unter der Haube.Probleme mit Entityframework Kernmodell Snapshot in Teamumgebung
Mein Fall:
- Bestehende Migration & Snapshot in TFS (Developer getestet & verpflichtet Migraton & Modell Schnappschuss aus seinem System).
- Dev 2 holt sich das Neueste von seinem System und zeigt auf neue Datenbank ohne ausstehende Änderungen.
- beim Ausführen
update-database
er steht vor Fehler, dass die Spalte bereits gelöscht.
ALTER TABLE DROP COLUMN ist fehlgeschlagen, weil die Spalte 'CreatedDateTime' existiert nicht in der Tabelle 'TaskEntityRelationships'.
Simplified Schnappschuss:
modelBuilder.Entity("KrossDelivery.Data.Objects.TaskEntityRelationships.TaskEntityRelationship", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
b.Property<int>("CreationTransactionId");
b.Property<int>("DeliveryAgentId");
b.Property<int>("DeliveryExecutiveId");
b.Property<DateTime?>("EndDateTime");
b.Property<int?>("LastEditTransactionId");
b.Property<DateTime>("StartDateTime");
b.Property<int?>("TaskEntityStatusEventId");
b.Property<int?>("TaskEntityStatusId");
b.Property<int>("TaskId");
b.HasKey("Id");
b.HasIndex("CreationTransactionId");
b.HasIndex("DeliveryAgentId");
b.HasIndex("DeliveryExecutiveId");
b.HasIndex("LastEditTransactionId");
b.HasIndex("TaskEntityStatusEventId");
b.HasIndex("TaskEntityStatusId");
b.HasIndex("TaskId");
b.ToTable("TaskEntityRelationships");
});
vereinfachte Migration:
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "CreatedDateTime",
table: "TaskEntityRelationships");
}
Von Code kann ich verstehen, dass CreatedDateTime bereits von Modell fiel snapshot.Dev A sein Modell Snapshot begangen mit Migration, aber wenn Dev2 nehmen Sie spät und zeigen Sie neue Datenbank, es funktioniert nicht. Ich weiß nicht, wie man Modell-Snapshots und Migrationen verwaltet und in welcher Reihenfolge ich in TFS festschreiben sollte.
Bitte beraten. Danke!
Dank für die Freigabe, können Sie [markieren Sie Ihre Antwort als Antwort] (https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), die auch hilft andere in der Gemeinschaft. – Chamberlain