Vous ne savez pas si cela est lié à l'utilisation de Dapper ou non. Sur un serveur SQL où Dapper est utilisé, plusieurs plans mis en cache sont générés, la seule différence étant la longueur du paramètre:
(@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
Existe-t-il des paramètres de configuration Dapper permettant de contrôler la longueur du paramètre? Peut-il être défini sur une longueur fixe nvarchar(256)
correspondant à la définition de la colonne de la table?
Vous pouvez définir la longueur en passant l'argument:
new {childName = new DbString { Value = "SomeValue", Length = 256,
IsAnsi = false, IsFixedLength = false }};