.net core .NET核心控制台应用程序是否有内存上限?

.net core .NET核心控制台应用程序是否有内存上限?,.net-core,entity-framework-core,miniprofiler,.net Core,Entity Framework Core,Miniprofiler,我已经成功地将一系列解决方案部署为.NET核心控制台应用程序。这些在正常情况下可以成功运行,但通常情况下,数据加载(使用EntityFramework Core query with.ToList()将数据保留在内存中以进行多次访问)似乎会在没有错误的情况下结束进程,但不会在同一位置。是否有人知道.NET核心C#控制台应用程序有哪些内存或进程限制需要注意?我从不超过主机上的CPU或内存。通常情况下,在代码中较早执行.ToList()之后,如果一个列表第一次被访问,它会在列表上执行一个null对象

我已经成功地将一系列解决方案部署为.NET核心控制台应用程序。这些在正常情况下可以成功运行,但通常情况下,数据加载(使用EntityFramework Core query with.ToList()将数据保留在内存中以进行多次访问)似乎会在没有错误的情况下结束进程,但不会在同一位置。是否有人知道.NET核心C#控制台应用程序有哪些内存或进程限制需要注意?我从不超过主机上的CPU或内存。通常情况下,在代码中较早执行.ToList()之后,如果一个列表第一次被访问,它会在列表上执行一个null对象异常

这是.NETCore2.0.0SDK


如果你知道公布的限制,那就太好了。我也将尝试使用MiniProfiler进行取证。TIA.

这个问题的答案是双重的。首先…与任何CPU相比,改为x64增加了一些上限,但第二,EntityFramework核心中的.Include()方法应该谨慎使用并进行分析。这也破坏了内存中的图形。因此,是的,两个人将我的问题降级的一个简单问题可能是一个简单的答案,但它被.Include()加剧了。这是一个帮助方法,但如果没有正确分析和使用,可能会伤害你。

你是否可能以32位运行应用程序?那么32位的限制将适用..好问题Martin。我会查出来的谢谢@MartinUllrich。感谢你在这个问题上提出了非常基本的问题。我认为任何CPU都可以,但可能需要直接转到x64进行直接定义。当
IQueryable
接口隐式转换为
IEnumerable
并且代码在.NET中执行而不是将其作为SQL查询的一部分时,也会发生这种情况-这可以有效地将整个数据库流式传输到内存中而不仅仅是加载查询结果。