我有以下代码:
_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_[some guid] 的值。
当我在 VS 2012 中运行代码时,值 _Rtn 是 -1,这就是我得到的全部。我可以看到 ExecuteSQLCommand 可以有一个 parms 数组,但我不确定在这种情况下我应该做什么。
我应该将代码更改为存储过程并调用它吗?
或者有人可以告诉我如何使用 Linq to Entities 或 Linq to SQL 创建相同的代码。
谢谢