次のコードがあります。
_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)
上記の SQL ステートメントを SSMS で直接実行すると、XML_[some guid] という値が返されます。
VS 2012 内でコードを実行すると、値 _Rtn は -1 になり、それだけが得られます。ExecuteSQLCommand は parms 配列を持つことができますが、この場合何をすべきかわかりません。
コードをストアド プロシージャに変更して呼び出す必要がありますか?
または、Linq to Entities または Linq to SQL を使用して同じコードを作成する方法を教えてもらえますか。
ありがとう