我正在使用EF6。我已经使用种子方法在类别表中插入记录,它工作正常。现在根据新的要求,我有一个新的类别,需要在Category表中插入。
这样做的好方法是什么。
根据我对EF的理解,我能做的就是
1)使用EF语句插入此记录。然后删除表并重新运行。使用包管理器控制台更新数据库-verbose。
2)或编写sql插入脚本。
答案 0 :(得分:0)
根据我的理解,您希望将旧类别表的所有记录复制到新类别表
中在这种情况下,您可以运行以下EF代码一次,之后您可以删除旧代码并使用新代码。
List<OldCategory > oldCategoryList = new List<OldCategory>();
List<NewCategory > newCategoryList = new List<NewCategory>();
oldCategoryList = dbContext.OldCategory .ToList();
foreach (var item in oldCategoryList )
{
newCategoryList .Add(item);
}
dbContext.SaveChanges();
答案 1 :(得分:0)
谢谢大家。
我使用以下技术解决了这个问题。我使用AddOrUpdate()方法作为upsert查询。我在种子方法中用AddorUpdate()替换每个Add(),重新运行种子方法只插入新的进入。