Dapper, lista de parámetros, posibles problemas de memoria

dapper parameters

Pregunta

Estoy usando dapper y solr. Después de obtener los ids de Solr estoy haciendo una búsqueda de DB así:

var dbResults = await dbConnection.QueryAsync<Product>(@"SELECT  p.[ProductId] as Id]
                                                                        ,p.[Product] as [Name]
                                                                        ,p.[Price]
                                                                        ,p.[SeoLink]                                                                            
                                                                        ,p.[CategoryId]                                   
                                                            FROM [dbo].[Products] p with(nolock)                                                                
                                                            WHERE p.[ProductId] in @productsIds", new {productsIds = toGet}, commandTimeout: 2);

El recuento de identificadores está cambiando de 1 a 200. ¿Tendré problemas de memoria porque cada consulta se almacenará en caché por separado? ¿Alguna idea de cómo puedo optimizarla? (Estoy usando el sitio web azure con sql azure y recibo 500 errores internos del servidor de vez en cuando sin ningún motivo, nada en los registros).

Respuesta aceptada

Bueno, en el lado de .NET solo almacenamos en caché ese par de una vez por texto / cadena de conexión, donde "texto" aquí es la consulta TSQL fija antes de cualquier vudú. La IL generada para ese escenario incluye una llamada a PackListParameters (que es después de todos los pasos de caché, justo antes de exec), que agrega los múltiples parámetros y cambia el TSQL.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué