OrmLite中参数化查询的参数长度

时间:2019-06-02 03:50:40

标签: ormlite-servicestack

OrmLite中的POCO更新将执行SQL,如下例所示:

(@P1 varchar(1043),@P2 varchar(6))
UPDATE table 
SET FILEDATA=@P1 
WHERE FILEID=@P2

但是它会导致基于具有不同参数长度的不同@P1@P2值的多个查询计划。

那么,在Ormlite中为参数化查询指定数据类型/长度的最佳方法是什么,以使查询计划得到适当的缓存,并避免由于可变的参数长度而导致多个查询计划?

在这种情况下,具有可变长度的字符串:https://dba.stackexchange.com/questions/216330/parameterized-query-creating-many-plans

1 个答案:

答案 0 :(得分:1)

现在从this commit指定字符串参数的大小,该参数采用已配置的StringConverter的默认字符串大小。此更改可从v5.5.1(现在为available on MyGet)开始。

如果需要,可以用replacing the String ConverterInitDbParam()覆盖其行为。