C# 将Linq查询结果输出为XML

C# 将Linq查询结果输出为XML,c#,sql,linq,C#,Sql,Linq,在SQL Server Management studio中,我可以执行以下操作: SELECT * FROM tableName FOR XML RAW 为我的表中的数据生成XML项列表 在C#中如何使用LINQ查询 var itemCollection = from entry in dataContextTableName select entry for xml raw 无法工作(无法编译)。有什么想法吗?您可以编写一个存储过程,将XML作为输出参数返回,并通过LinqToSql数据

在SQL Server Management studio中,我可以执行以下操作:

SELECT * FROM tableName FOR XML RAW
为我的表中的数据生成XML项列表

在C#中如何使用LINQ查询

var itemCollection = from entry in dataContextTableName select entry for xml raw

无法工作(无法编译)。有什么想法吗?

您可以编写一个存储过程,将XML作为
输出
参数返回,并通过LinqToSql数据上下文访问它

例如:

CREATE PROCEDURE dbo.GenerateXML

    (
        @xmlOutput nvarchar(MAX) OUTPUT
    )

AS
BEGIN

    SET @xmlOutput  = ( 
        SELECT * FROM tableName FOR XML RAW
    )

END
从这里,您必须使用服务器资源管理器将存储过程拖放到DBML文件上,然后在代码中,它只是:

string xml = "";    
dataContext.GenerateXML(ref xml)


正如James所说,不能使用原始LinqToSql语法;或者,您可以将从标准Linq查询(例如:
从dataContextTableName中的条目选择条目
)得到的结果序列化为代码中的XML,请参见。

我认为您不能使用Linq,不是SQL中所有可能的都可以在Linq中实现,您要么运行SQLCommand,要么自己将结果数据集序列化为xml