我正在为我的 MVC4 应用程序编写一组单元测试。我想创建一个测试数据库,在每次测试之前将其删除并重新填充。为此,我需要一个可以执行以下操作的种子函数:
var project = new Project() {Name = "Project One", Description = "Watermelons make you high!"}
_context.Projects.Add(project);
var projectTwo = new Project() {Name = "Project Two", Description = "Insert your joke here"}
_context.Projects.Add(project);
等等,对于我要测试的所有对象。越多越好。
而且我很懒。我不想自己用 C# 编写所有这些。但我可以使用我开发的网络应用程序来快速创建大量测试数据。
现在的问题是如何将数据库(sql server 2012)中的数据转换为 C# 语句,如上面的示例?
我可以将数据库导出为 sql 语句并为每个脚本每次运行它。但是每当我的模型发生变化(比如新字段)时,我都需要重新创建 sql。此外,有时能够访问已放入数据库中的对象会很好,而 sql 脚本不允许这样做。
另一种选择是编写一些正则表达式来将 sql-script 转换为对象。不知道那是多少工作。我可能最终会这样做。
那么,是否有任何工具可以将数据库中的数据转换为 C# 对象?