以前,在使用EF4时,所有我添加到数据库中的对象都遵循(可能不正确)该模式
Poll oPoll = new Poll();
oPoll.Name = "My Special Poll Question";
context.AddToPolls(oPoll);
context.saveChanges();
但是,当我切换到EF5时,我需要改用create对象。
Poll oPoll = context.Poll.Create();
oPoll.Name = "My Special Poll Question";
context.AddToPoll(oPoll);
context.SaveChanges();
由于我现在有大约3,000页代码,所以我真的不希望对所有新关键字都不做查找,也不要手工研究。是否有一种很好的优雅方法(通过工具或其他方式)将此模式更新为EF5的新模式?
最佳答案
如果您知道所有实体的名称,则可以进行全局正则表达式替换:
假设您将投票,投票和人物作为类型,则可以替换为:
(Poll|Vote|Person) (.+) = new .+\(\);
用
$1 $2 = context\.$1\.Create\(\);
那会将
Poll oPoll = new Poll();
变成Poll oPoll = context.Poll.Create();
要添加要替换的其他实体类型,只需编辑正则表达式的第一部分。
关于c# - 将表格EF4切换为EF5,新建创建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16441411/