0

在 SQL 2014 数据库中,我有一个使用 XML 作为参数的存储过程。

我正在尝试创建一个使用 XML 作为参数类型的 Codefluent 方法。参数定义:

<cf:parameter typeName="xml" name="XMLcriteria " />

这导致 DB 过程的参数定义为:

 @XMLcriteria [nvarchar] (256)

而不是预期的:

 @XMLcriteria as XML

如果我尝试增加参数的最大大小,我会得到一个更奇怪的结果:

@XMLcriteria [nvarchar] (max) = ''

如何将 XML 作为方法参数传递,以便在 SQL 生产者创建的存储过程中将参数定义为 XML?

我也很难理解 XML CF 类型的作用。如果我使用 XML 类型创建 CF 实体属性,则 BOM 会生成String类型的类属性。如果我将xElementxDocument分配给该属性,则所有 XML 标记都将被剥离,最终只得到一长串值。在这种情况下,当我将此实体(应包含 XML 属性)用作 SQL 过程中的参数时,我得到一个无法选择元素的长字符串。

4

1 回答 1

1

要定义 XML 参数,可以使用属性cfps:dataType="xml"

<cf:parameter typeName="xml" cfps:dataType="xml" name="arg" />

如果需要XmlElementor类型的属性XmlDocument,可以添加分部类并添加解析字符串属性值的属性。

于 2016-09-12T09:58:21.387 回答