将多个表从SQL Server导出到XML以进行还原

Equ*_*ium 5 c# xml linq sql-server asp.net

我在C#/ ASP.NET中有一个Web应用程序.我想导出所有数据库表的数据,使用相同的唯一键(Company ID).所有表都有这个密钥(每个公司都不同).我想这样做以备将来备份.Linq还是经典C#有可能吗?如何实现这种备份和恢复?

Sye*_*tar 3

解决方案的示例之一是

using System.Data.SqlClient;
using System.Data;
using System.IO;

namespace ConsoleApplication4
{
class Program
{
    static void Main(string[] args)
    {
        var connStr = "Data Source=MOHSINWIN8PRO\\SQLEXPRESS;Initial Catalog=AB2EDEMO;Integrated Security=True";
        var xmlFileData = "";
        DataSet ds = new DataSet();
        var tables = new[] {"Hospital", "Patient"};
        foreach (var table in tables)
        {

            var query = "SELECT * FROM "+ table +" WHERE (Hospital_Code = 'Hosp1')";
            SqlConnection conn = new SqlConnection(connStr);
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);
            conn.Close();
            conn.Dispose();
            xmlFileData+=ds.GetXml();
        }
        File.WriteAllText("D://SelectiveDatabaseBackup.xml",xmlFileData);
    }
}
Run Code Online (Sandbox Code Playgroud)

}

这将创建SelectiveDatabaseBackup.xml稍后可用于恢复备份的文件