切换表格EF4到EF5切换新的创建

时间:2013-05-08 12:59:56

标签: c# entity-framework

以前使用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的新模式?

1 个答案:

答案 0 :(得分:4)

如果您知道所有实体的名称,则可以进行全局正则表达式替换:

假设你有Poll,Vote和Person作为类型,你可以替换:

(Poll|Vote|Person) (.+) = new .+\(\);

使用

$1 $2 = context\.$1\.Create\(\);

Poll oPoll = new Poll();转变为Poll oPoll = context.Poll.Create();

要添加要替换的额外实体类型,只需编辑正则表达式的第一部分。