Dapper 参数长度
Dapper Parameter Length
不确定这是否与 Dapper 使用有关。在使用 Dapper 的 SQL 服务器上,我看到生成了多个缓存计划,唯一的区别是参数的长度:
(@parentId uniqueidentifier,@childName nvarchar(60))
SELECT [ID] FROM [Items] WHERE [ParentID] = @parentId AND [Name] = @childName
(@parentId uniqueidentifier,@childName nvarchar(91))
SELECT [ID] FROM [Items] WHERE [ParentID] = @parentId AND [Name] = @childName
(@parentId uniqueidentifier,@childName nvarchar(15))
SELECT [ID] FROM [Items] WHERE [ParentID] = @parentId AND [Name] = @childName
有没有控制参数长度的Dapper配置设置?是否可以将其设置为与 table 列定义匹配的固定长度 nvarchar(256)
?
您可以在传递参数时定义长度:
new {childName = new DbString { Value = "SomeValue", Length = 256,
IsAnsi = false, IsFixedLength = false }};
不确定这是否与 Dapper 使用有关。在使用 Dapper 的 SQL 服务器上,我看到生成了多个缓存计划,唯一的区别是参数的长度:
(@parentId uniqueidentifier,@childName nvarchar(60))
SELECT [ID] FROM [Items] WHERE [ParentID] = @parentId AND [Name] = @childName
(@parentId uniqueidentifier,@childName nvarchar(91))
SELECT [ID] FROM [Items] WHERE [ParentID] = @parentId AND [Name] = @childName
(@parentId uniqueidentifier,@childName nvarchar(15))
SELECT [ID] FROM [Items] WHERE [ParentID] = @parentId AND [Name] = @childName
有没有控制参数长度的Dapper配置设置?是否可以将其设置为与 table 列定义匹配的固定长度 nvarchar(256)
?
您可以在传递参数时定义长度:
new {childName = new DbString { Value = "SomeValue", Length = 256,
IsAnsi = false, IsFixedLength = false }};