相关疑难解决方法(0)

C#SMO - 将表数据编写到文件.抛出错误

在重新创建表之前,我正在尝试创建数据库中包含的数据的备份.我已经连接到服务器并创建存储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中发布迁移功能.

希望有人能提供帮助.谢谢

c# entity-framework smo code-first

5
推荐指数
1
解决办法
2942
查看次数

标签 统计

c# ×1

code-first ×1

entity-framework ×1

smo ×1