gpt4 book ai didi

entity-framework - Entity Framework 会自动缓存 ModelBuilder 模型吗?

转载 作者:行者123 更新时间:2023-12-04 02:00:44 29 4
gpt4 key购买 nike

我正在使用 Entity Framework 开发 ASP MVC 应用程序。我正在考虑编写代码来缓存 ModelBuilder 返回的对象(正如几个来源所推荐的那样),但后来我在 Scott Gu 的博客上遇到了这个问题:

“上面的 OnModelCreating 方法将在我们的 NerdDinners 类第一次在正在运行的应用程序中使用时被调用,并传递一个“ModelBuilder”对象作为参数。ModelBuilder 对象可用于自定义我们模型的数据库持久映射规则对象。我们将在下面查看如何执行此操作的一些示例。

“EF 仅在正在运行的应用程序中调用一次“OnModelCreating”方法 – ,然后自动缓存 ModelBuilder 结果 。这避免了每次实例化 NerdDinners 类时模型创建的性能下降,这意味着您不不必编写任何自定义缓存逻辑即可在您的应用程序中获得出色的性能。”

这是否意味着 EF 会自动缓存 ModelBuilder 对象,而我不必编写代码来执行此操作,或者这是仅在 OnModelCreating 方法被覆盖时才执行的操作,还是...?

最佳答案

来自 Entity Framework Blog关于 EF 4 中的性能改进

Model Caching

There is some cost involved in discovering the model, processing Data Annotations and applying fluent API configuration. To avoid incurring this cost every time a derived DbContext is instantiated the model is cached during the first initialization. The cached model is then re-used each time the same derived context is constructed in the same AppDomain. Model caching can be turned off by setting the CacheForContextType property on ModelBuilder to ‘false’ in the OnModelCreating method.



所以 Entity Framework 4.0 的答案是肯定的

关于entity-framework - Entity Framework 会自动缓存 ModelBuilder 模型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3611520/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com