SQL 2014データベースでは、XMLをパラメータとして使用するストアドプロシージャがあります。CodefluentのメソッドパラメータとしてXMLを使用する
XMLをパラメータタイプとして使用するCodefluentメソッドを作成しようとしています。パラメータが定義される:
<cf:parameter typeName="xml" name="XMLcriteria " />
これはのように定義されたパラメータを有するDB手順になる:Iが最大に増加しようとすると
@XMLcriteria as XML
:代わりに期待の
@XMLcriteria [nvarchar] (256)
をパラメータのサイズを変更すると、わかりやすい結果が得られます。
@XMLcriteria [nvarchar] (max) = ''
メソッドパラメータとしてXMLを渡して、SQLプロデューサによって作成されたストアドプロシージャでパラメータがXMLとして定義されるようにするにはどうすればよいですか?
また、XML CFタイプが何をしているかを理解するのも難しいです。 XMLタイプのCFエンティティプロパティを作成すると、BOMはタイプの文字列のクラスプロパティを生成します。 xElementまたはxDocumentをこのプロパティに割り当てると、すべてのXMLマークアップが削除され、値の長い文字列が1つだけになります。この場合、SQLプロシージャのパラメータとしてこのEntity(XMLプロパティを含む必要があります)を使用すると、要素を選択する方法がない1つの長い文字列が取得されます。あなたがタイプXmlElement
またはXmlDocument
のプロパティが必要な場合は
<cf:parameter typeName="xml" cfps:dataType="xml" name="arg" />
は、あなたが部分クラスを追加し、値を解析し、プロパティを追加することができます
ありがとうございます。私に正しい方向を教えていただきありがとうございます。私はdbTypeを使用していました:XMLは文字列にリセットされ続けました。これにより、渡されるXMLからSQLへの問題が修正されました。しかし、パラメータの内容は、myXMLparameter.toStringを使用して解決した文字列です。それほどシームレスではなく、清潔だが効果的です。 ご協力いただきありがとうございます。 –
[このブログの投稿](https://blog.codefluententities.com/2015/07/17/table-valued-parameters-use-ienumerable-home.asp)の説明に従って、パラメータのタイプを 'XmlElement'に変更することができます。アレイの代わりに/)。 'AddParameter'メソッドを' AddParameterXml'に変更することもできます([blog post](https://blog.codefluententities.com/2014/08/26/store-int128-in-a-database/)) – meziantou