在重新创建表之前,我正在尝试创建数据库中包含的数据的备份.我已经连接到服务器并创建存储SQL的文件.问题是它在最后一行抛出错误.
"你调用的对象是空的"
我整天都在这个项目,所以可能会错过一双新眼睛会帮助的东西.
这是代码:
public void scriptTables()
{
string folder = HttpContext.Current.Server.MapPath("/Scripts/SQLScripts/");
Server myServer = new Server(".\\SQLEXPRESS");
Database CMSDB = myServer.Databases["CMSDB"];
Scripter script = new Scripter(myServer);
ScriptingOptions so = new ScriptingOptions();
so.ScriptData = true;
so.ScriptSchema = true;
so.ScriptDrops = false;
foreach (Table table in CMSDB.Tables)
{
string tables = table.ToString();
string filename = folder + table + ".sql";
FileStream fs = File.Create(filename);
so.FileName = filename;
CMSDB.Tables[tables].EnumScript(so);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在做的一些背景:
我想提取数据库中已存在的数据,然后更改实体模型.当应用程序重新启动时,EF框架将丢弃并重新创建数据库,此时我将重新输入之前存在的数据.不太确定整个过程是否会成功,但必须这样做,直到他们在EF中发布迁移功能.
希望有人能提供帮助.谢谢