我有一个数据库列“completedcomments”,所以EF模型有这个:
public string Completedcomments { get; set; }
此列中的信息必须作为“completionComments”提供,因此我认为这可以通过column remapping annotation完成。 我改变了我的EF模型,看起来像这样:
[Column("completedcomments")]
public string completionComments { get; set; }
我不确定列重新映射是否需要迁移才能生效,所以我做了一个以防万一。令我惊讶的是,迁移删除了我的“completedcomments”列,并在数据库中添加了“completionComments”列。
这不是我想要发生的事情(我将不得不进行恢复以从该列恢复我的测试数据)。如果这不是列重映射的作用,我如何将列“completedcomments”中的内容作为“completionComments”提供?这是我应该在控制器中做的事情,如果是这样,列重新映射的重点是什么?
答案 0 :(得分:0)
我发现了我的错误,它出现在Context文件中:
我有:
entity.Property(e => e.completionComments).HasColumnName("completionComments");
应该是:
entity.Property(e => e.completionComments).HasColumnName("completedcomments");
Context文件中的错误导致架构更改。没有错误,列重新映射就像人们想象的那样,并且正如Jasen的评论所解释的那样。
重新映射不需要迁移。