SQL 2014 データベースには、XML をパラメーターとして使用するストアド プロシージャがあります。
XML をパラメーターの型として使用する Codefluent メソッドを作成しようとしています。パラメータは次のように定義されています。
<cf:parameter typeName="xml" name="XMLcriteria " />
これにより、次のように定義されたパラメーターを持つ DB プロシージャーが生成されます。
@XMLcriteria [nvarchar] (256)
期待される代わりに:
@XMLcriteria as XML
パラメータの最大サイズを大きくしようとすると、さらに奇妙な結果が得られます。
@XMLcriteria [nvarchar] (max) = ''
SQL プロデューサーによって作成されたストアド プロシージャでパラメーターが XML として定義されるように、XML をメソッド パラメーターとして渡すにはどうすればよいですか?
また、XML CF 型が何をするのかを理解するのにも苦労しています。XML 型の CF エンティティ プロパティを作成すると、BOM はString型のクラス プロパティを生成します。このプロパティにxElementまたはxDocumentを割り当てると、すべての XML マークアップが取り除かれ、値の長い文字列が 1 つだけになります。この場合、このエンティティ (XML プロパティを含む必要があります) を SQL プロシージャのパラメーターとして使用すると、要素を選択する方法がない 1 つの長い文字列が取得されます。