1

以前在使用 EF4 时,我添加到数据库中的所有对象都遵循(可能不正确)该模式

Poll oPoll = new Poll();
oPoll.Name = "My Special Poll Question";
context.AddToPolls(oPoll);
context.saveChanges();

但是,当我切换到 EF5 时,我需要改用创建对象。

Poll oPoll = context.Poll.Create();
oPoll.Name = "My Special Poll Question";
context.AddToPoll(oPoll);
context.SaveChanges();

由于我现在有大约 3,000 页的代码,我真的宁愿不为所有的新关键字做查找,也不愿意手动进行。是否有一种优雅的方式(通过工具或其他方式)将此模式更新为 EF5 的新模式?

4

1 回答 1

4

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

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

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

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

那会Poll oPoll = new Poll();变成Poll oPoll = context.Poll.Create();

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

于 2013-05-08T13:43:46.753 回答