我们正面临oracle db的生产问题,其中当使用LINQ时,EF发出的sql中命令参数的数字后缀不断增加。例如,多次运行时,linq查询
var collection = from obj in Query where obj.Val1==val1 select obj;
被翻译为(不完全,但足以描述这个想法)
select * from Table1 where Column1=@p__linq__0
select * from Table1 where Column1=@p__linq__1
select * from Table1 where Column1=@p__linq__2
...
select * from Table1 where Column1=@p__linq__1003
...
因此,oracle共享池缓存耗尽内存。
有没有人知道它?