0

我正在研究 MVC4,我坚持使用必须以 xml 格式提供表备份的解决方案。我想要的是基于一些参数,如果数据存在于特定表中,我必须获取这些数据,然后为该数据生成 xml。例如。我有 3 张桌子

表 A 与列 FirstName,MiddleName,LastName 表 B 与列 FirstName,LastName 表 C 与列 FirstName,MiddleName,LastName

和参数将名,中间名,姓氏

例如:如果我想获取所有带有名字和姓氏参数的记录......所以如果在上面的 3 个表中名字和姓氏匹配。

1.只有每张表的那些记录应该被转换成每张表的xml

我已经搜索“for xml、raw、auto、path”等...但可以得到结果。我应该使用哪一个?

因为在为每个表创建 xml 文件之后......我必须将这些文件恢复到 sql server?

谁能建议我如何以最佳方式实现此功能。

谢谢。

4

1 回答 1

0

您是否考虑过使用 LINQ to XML?

一个样本可以是:

XElement xTableA = new XElement
    (
        "TableA",
        TableA
        .Where(x=>x.FirstName == firstname && x.LastName == lastname)
        .Select
        (
            x=>
            new XElement
            (
                "Row", 
                new XElement("FirstName",x.FirstName), 
                new XElement("MiddleName",x.MiddleName), 
                new XElement("LastName",x.LastName)
            )
        );

XElement xTableB = new XElement
    (
        "TableB",
        TableB
        .Where(x=>x.FirstName == firstname && x.LastName == lastname)
        .Select
        (
            x=>
            new XElement
            (
                "Row", 
                new XElement("FirstName",x.FirstName), 
                new XElement("MiddleName",x.MiddleName), 
                new XElement("LastName",x.LastName)
            )
        );

XElement xTableC = new XElement
    (
        "TableC",
        TableC
        .Where(x=>x.FirstName == firstname && x.LastName == lastname)
        .Select
        (
            x=>
            new XElement
            (
                "Row", 
                new XElement("FirstName",x.FirstName), 
                new XElement("MiddleName",x.MiddleName), 
                new XElement("LastName",x.LastName)
            )
        );

xTableA.Save(filenameA);
xTableB.Save(filenameB);
xTableC.Save(filenameC);

这样,您就有了三个 xml 文件,其中包含您请求的数据准备好导入...

于 2013-11-11T09:03:30.160 回答