我们正处于ef核心的初步开发应用中。我不确定如何核心 模型快照与其他组件(如迁移和数据库)进行通信/流动。我不知道哪些将首先应用于数据库迁移或模型快照以及如何通过迁移进行验证。
我的情况:
update-database
时,他面临的错误是该列已经删除。ALTER TABLE DROP COLUMN失败,因为列' CreatedDateTime'表格' TaskEntityRelationships'。
中不存在
简化快照:
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");
});
简化迁移:
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "CreatedDateTime",
table: "TaskEntityRelationships");
}
从代码我可以理解CreatedDateTime已经从模型snapshot.Dev A中提取了他的模型快照与迁移,但是当Dev2采取最新并指向新数据库时,它无法正常工作。我不知道如何管理模型快照和迁移以及我应该在TFS中提交的顺序?
请建议。谢谢!
答案 0 :(得分:1)
最初我使用EnsureCreated()
,现在我改为Migrate()
现在正在使用。