EF Core 上下文是否在运行时保存所有数据库值?
Does EF Core context hold all database values during runtime?
我无法找到我的问题的答案,当我调试我的 .NET 5 控制台应用程序并查看上下文 (EF Core) 时,我可以看到它包含所有数据库 tables,当我展开这样的 table(实体列表)时,我可以开始滚动该列表。
我的 table 中的一个保存了大约 15 000 条记录,另一个保存了大约 30 000 条记录……这是否意味着该数据在运行时始终可用?还是在调试过程中向下滚动列表时填充了它?
首先,您需要了解 EF (Entity Framework) 作为 O/RM(对象关系映射器)的概念。 EF 使 .NET 开发人员能够使用 .NET 对象处理数据库。回答您的问题:只有当您使用 LINQ 或原始语句在上下文中执行 SQL 语句时,才会发生数据库查询。所以答案是否定的,数据当然只会在您需要时提供给您。您通过调试看到的上下文实际上是在您单击它时查询数据库。希望我的回答能稍微减少你的好奇心。干杯。
您还可以从此来源查看有关 EF Core 的更多详细信息:https://docs.microsoft.com/en-us/ef/core/
我无法找到我的问题的答案,当我调试我的 .NET 5 控制台应用程序并查看上下文 (EF Core) 时,我可以看到它包含所有数据库 tables,当我展开这样的 table(实体列表)时,我可以开始滚动该列表。 我的 table 中的一个保存了大约 15 000 条记录,另一个保存了大约 30 000 条记录……这是否意味着该数据在运行时始终可用?还是在调试过程中向下滚动列表时填充了它?
首先,您需要了解 EF (Entity Framework) 作为 O/RM(对象关系映射器)的概念。 EF 使 .NET 开发人员能够使用 .NET 对象处理数据库。回答您的问题:只有当您使用 LINQ 或原始语句在上下文中执行 SQL 语句时,才会发生数据库查询。所以答案是否定的,数据当然只会在您需要时提供给您。您通过调试看到的上下文实际上是在您单击它时查询数据库。希望我的回答能稍微减少你的好奇心。干杯。
您还可以从此来源查看有关 EF Core 的更多详细信息:https://docs.microsoft.com/en-us/ef/core/