No estoy seguro de si esto está relacionado con el uso de Dapper o no. En un servidor SQL donde se usa Dapper, veo que se generan múltiples planes en caché con la única diferencia de la longitud del parámetro:
(@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
¿Hay alguna configuración de configuración Dapper que controle la longitud del parámetro? ¿Se puede establecer en un nvarchar(256)
longitud fija nvarchar(256)
coincida con la definición de la columna de la tabla?
Puede definir la longitud al pasar el argumento:
new {childName = new DbString { Value = "SomeValue", Length = 256,
IsAnsi = false, IsFixedLength = false }};