Linq to sql LINQ到SQL异常:System.OutOfMemoryException

Linq to sql LINQ到SQL异常:System.OutOfMemoryException,linq-to-sql,Linq To Sql,不知道为什么我总是得到一个OutOfMemory异常。我正在使用ASP.NETMVC和LINQtoSQL。以下是一些堆栈跟踪: [OutOfMemoryException:的异常 类型“System.OutOfMemoryException”为 抛出。] System.Runtime.CompilerServices.RuntimeHelpers.\u CompileMethod(IntPtr 方法)+0 System.Reflection.Emit.DynamicMethod.CreateDe

不知道为什么我总是得到一个
OutOfMemory
异常。我正在使用ASP.NETMVC和LINQtoSQL。以下是一些堆栈跟踪:

[OutOfMemoryException:的异常 类型“System.OutOfMemoryException”为 抛出。]
System.Runtime.CompilerServices.RuntimeHelpers.\u CompileMethod(IntPtr 方法)+0
System.Reflection.Emit.DynamicMethod.CreateDelegate(类型 委托类型)+7652553
System.Data.Linq.SqlClient.ObjectReaderCompiler.Compile(SqlExpression 表达式,类型elementType)+442
System.Data.Linq.SqlClient.SqlProvider.GetReaderFactory(SqlNode 节点,类型elemType)+100
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(表达式 查询)+253
System.Data.Linq.Table
1.System.Linq.IQueryProvider.Execute(表达式
表达式)+49
System.Linq.Queryable.Single(IQueryable
1 源,表达式'1谓词)+301

WorkGrabber.Web.Models.WorkGrabberDataContext.GetJob(Int32 id)+233
WorkGrabber.Web.Controllers.BidsController.New(Int32) jobId)+19


你的表情是什么?问题似乎源于这一行:

System.Reflection.Emit.DynamicMethod.CreateDelegate(Type delegateType) +7652553

这种抵消似乎很奇怪。我简直不敢相信一个普通的动态方法会有7.5MB的主体。

WorkGrabber.Web.Models.WorkGrabberDataContext.GetJob(Int32 id)那只是一个datacontext.Jobs.Single(j=>j.JobID=id)它可能来自LoadOptions还是什么?7.5 MB正文是从何处获得的?从调用堆栈行可以看出,错误发生在方法调用开始处的偏移量+7652553处。如果没有MVC,则可能发生错误。我们有一个产生相同错误的应用程序。我们已经在托管环境中看到了它。很少发生,我们不能孤立它,不能复制它。