【问题标题】:Formatting old Query to LINQ statement将旧查询格式化为 LINQ 语句
【发布时间】:2010-10-21 14:06:29
【问题描述】:

以下查询是我从一个旧应用程序继承的,它向存储在数据库中的 excel 添加 2 个属性。

SELECT 
   row_number() over(order by id) as num
   , [id] as mailsort
   , 0 as pages
   , [xmlRecord].query('/sst-statement/*') 
FROM  dbo.RPA200_preproc AS [sst-statement] 
WHERE rpatype = 201 
ORDER BY id for xml auto

返回一个以

开头的 XML
<sst-statement num="1" mailsort="32" pages="0">

现在,需要将 SQL 转换为 LINQ 语句。这可能类似于此查询还是从数据库中检索 XML 然后更改 XML 会更好?

【问题讨论】:

    标签: c# sql linq c#-4.0


    【解决方案1】:
    SELECT
    row_number() over(order by id) as num,
    [id] as mailsort,
    0 as pages,
    [xmlRecord].query('/sst-statement/*')
    FROM  dbo.RPA200_preproc as [sst-statement]
    where rpatype = 201
    order by id for xml auto
    

    变成了

    int i=0;
    var Query =
    FROM I in dbo.RPA200_preproc
    WHERE rpatype = 201
    order by id
    SELECT I.id;
    foreach(var Item in Query)
    {
        new XElement("sst-statement", new XAttribute("num", i), new XAttribute("mailsort" = Item), new XAttribute("Pages",(int)0));
        i++;
    }
    

    我认为:)

    【讨论】:

    • 感谢您的回答。我目前无法测试它,因为其他工作已经通过了。我会尽快测试它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多