在SQL 2014数据库中,我有一个使用XML作为参数的存储过程。
我正在尝试创建一个将XML用作参数类型的Codefluent方法。参数定义为:
<cf:parameter typeName="xml" name="XMLcriteria " />
这导致DB过程的参数定义为:
@XMLcriteria [nvarchar] (256)
而不是预期的:
@XMLcriteria as XML
如果我尝试增加参数的最大大小,我会得到一个更奇怪的结果:
@XMLcriteria [nvarchar] (max) = ''
如何将XML作为Method参数传递,以便在SQL生成器创建的存储过程中将参数定义为XML?
我也很难理解XML CF类型的作用。如果我使用XML类型创建CF实体属性,则BOM会生成类型为 String 的类属性。如果我将 xElement 或 xDocument 分配给此属性,则会删除所有XML标记,并且最终只会使用一长串值。在这种情况下,当我使用此实体(应该包含XML属性)作为SQL过程中的参数时,我得到一个长字符串,无法选择元素。
答案 0 :(得分:1)
要定义XML参数,您可以使用属性cfps:dataType="xml"
:
<cf:parameter typeName="xml" cfps:dataType="xml" name="arg" />
如果需要类型为XmlElement
或XmlDocument
的属性,则可以添加部分类并添加一个解析字符串属性值的属性。