首页 > 解决方案 > EF Core 上下文是否在运行时保存所有数据库值?

问题描述

我无法找到我的问题的答案,当我调试我的 .NET 5 控制台应用程序并查看上下文(EF Core)时,我可以看到它包含所有数据库表,当我展开此类表(列表实体)我可以开始滚动该列表。我的一个表包含大约 15 000 条记录,另一个包含大约 30 000 条记录......这是否意味着这些数据在运行时始终可用?还是在调试期间向下滚动列表时填充了它?

标签: c#entity-framework-coredbcontext

解决方案


首先,你需要了解EF(Entity Framework)作为O/RM(Object Relational Mapper)的概念。EF 使 .NET 开发人员能够使用 .NET 对象处理数据库。回答您的问题:仅当您使用 LINQ 或原始语句在上下文中执行 SQL 语句时才会发生数据库查询。所以答案是否定的,当然只有在您需要时才能使用这些数据。您通过调试看到的上下文中的一个实际上是在您单击数据库时查询数据库。希望我的回答可以减少你的好奇心。干杯。

您还可以从以下来源看到有关 EF Core 的更多详细信息:https ://docs.microsoft.com/en-us/ef/core/


推荐阅读