我有以下代码:实体框架ExecuteSQLCommand返回XML字符串
_sql += "SELECT [CodeListNumber] as '@Number'"
_sql += " ,[ShortDescription]"
_sql += " ,[ExpiryDate]"
_sql += " ,[CompositeCode]"
_sql += " FROM [Aviva_Guidewire_Dev_V3].[dbo].[Aviva_CompleteCodeList] as [CodeListNumber]"
_sql += " order by [CodeListNumber]"
_sql += " for xml path('CodeList'), root('CodeLists'), elements"
Dim params As String()
Dim _Rtn As String = _dbRoot.Database.ExecuteSqlCommand(_sql, params)
Dim _xDoc As New XmlDocument
_xDoc.LoadXml(_Rtn)
如果我直接在SSMS运行上面的SQL语句,它返回一个名为XML_ [一些GUID]值。
当我在VS 2012中运行代码时,值_Rtn是-1,这就是我所得到的。我可以看到ExecuteSQLCommand可以有一个parms数组,但我不确定在这种情况下我该怎么做。
我应该将代码更改为存储过程并调用它吗?
或者有人可以告诉我如何使用Linq to Entities或Linq to SQL创建相同的代码。
感谢