2
當通過dapper將xml字符串傳遞到SQL Server 2008時,dapper似乎正在爲xml字符串中的每個字符創建一個參數。Dapper版本1.12.0.0 XML參數不再起作用
例如,如果該字符串是<outer></outer>
這似乎是建立一個參數 爲每個字符( '<', 'O', 'U', 'T' 等。)
在老版本的代碼會傳遞一個參數(即指定的xml參數)到存儲過程中。
設置代碼如下所示 -
var xml = @"
<OuterElement>
<InnerElement>1</InnerElement>
<InnerElement>2</InnerElement>
<InnerElement>3</InnerElement>
<InnerElement>4</InnerElement>
</OuterElement>";
var parameters = new Dapper.DynamicParameters();
parameters.Add("@XmlParameter", xml, DbType.Xml);
SqlMapper.Query(
connection,
"dbo.TestXmlInput",
parameters,
commandType: CommandType.StoredProcedure,
commandTimeout: 60
);
我的問題如下: 其他人能重現嗎? 如果是這樣,這個更改是故意還是錯誤? 是否有解決方案來實現xml參數傳遞?
生成的SQL是這樣的:
exec dbo.TestXmlInput (@XmlParameter1, @XmlParameter2, @XmlParameter3, ...)
任何幫助將不勝感激。
完美的作品,謝謝。 – NKeddie
是否已將更改部署到nu? – TGS