Dapper,参数列表,可能的内存问题

时间:2013-04-10 09:17:00

标签: parameters dapper

我正在使用短小精悍和solr。在我从solr获得id后,我正在那样查询db:

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);

id的数量从1变为200.我是否会因为每个查询都会单独缓存而导致内存问题?任何想法如何优化它? (我正在使用带有sql azure的azure网站,我不时有任何理由得到500内部服务器错误,日志中没有任何内容。)

1 个答案:

答案 0 :(得分:1)

好吧,在.NET端,我们只对每个文本/连接字符串对缓存一次,其中“text”这里是任何voodoo之前的固定TSQL查询。该方案的生成的IL 包括对PackListParameters的调用( 所有缓存步骤之后 - 就在exec之前),这会添加多个参数和改变TSQL。