如何将asp.net-mvc项目中未使用存储库模式的实体框架依赖注入改写为长尾词?

2026-03-30 12:251阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计450个文字,预计阅读时间需要2分钟。

如何将asp.net-mvc项目中未使用存储库模式的实体框架依赖注入改写为长尾词?

由于原文较长,以下是对其进行简化改写的版本,不超过100字:

目前为停,我在项目数据库模式和依赖注入中实现。使用Entity Framework进行ORM,并有管理存储库服务层的工具。有些对动手问题不甚重要,我不太可能去做。

到目前为止,我一直在我的项目存储库模式和依赖注入中实现.我为ORM使用Entity Framework,并且还有一个管理我的存储库的服务层.

我有点想做一些对手头的问题不那么重要的事情.我不太可能更改我的数据库或ORM.对于小型项目,我不需要实施测试.

但我喜欢每次获取数据时都不向数据库发送请求的想法,如果它已经在内存中从那里获取数据.

我的问题是:如果我在Asp.Net MVC应用程序中使用Entiry Framework,而不是使用存储库模式,但仍然在EF的DBContext上使用DI,我可以通过防止往返数据库服务器进行读取来获得性能的好处吗?

通过在DbContext上实现DI,我的意思是Ninject示例:

kernel.Bind<MyDBContext>().ToSelf().InRequestScope();

谢谢

在EF DbContext之上添加存储库模式对性能优化没有帮助.

DbContext是一个工作单元,用于跟踪加载/更改/添加的实体. IDbSet< T>基本上是一个存储库.所以DbContext有一个存储库列表. DbContext负责执行一些性能优化,例如不加载相同的实体两次,而是在通过id加载两次时返回相同的实例.
当然,要应用此功能,必须重用相同的DbContext实例.如果您创建两个DbContext实例,它们将加载同一个实体一次.

所以使用

kernel.Bind<MyDBContext>().ToSelf().InRequestScope();

而不是将自己的“存储库模式”置于MyDBContext之上是完全没问题的.

如何将asp.net-mvc项目中未使用存储库模式的实体框架依赖注入改写为长尾词?

标签:没有存储

本文共计450个文字,预计阅读时间需要2分钟。

如何将asp.net-mvc项目中未使用存储库模式的实体框架依赖注入改写为长尾词?

由于原文较长,以下是对其进行简化改写的版本,不超过100字:

目前为停,我在项目数据库模式和依赖注入中实现。使用Entity Framework进行ORM,并有管理存储库服务层的工具。有些对动手问题不甚重要,我不太可能去做。

到目前为止,我一直在我的项目存储库模式和依赖注入中实现.我为ORM使用Entity Framework,并且还有一个管理我的存储库的服务层.

我有点想做一些对手头的问题不那么重要的事情.我不太可能更改我的数据库或ORM.对于小型项目,我不需要实施测试.

但我喜欢每次获取数据时都不向数据库发送请求的想法,如果它已经在内存中从那里获取数据.

我的问题是:如果我在Asp.Net MVC应用程序中使用Entiry Framework,而不是使用存储库模式,但仍然在EF的DBContext上使用DI,我可以通过防止往返数据库服务器进行读取来获得性能的好处吗?

通过在DbContext上实现DI,我的意思是Ninject示例:

kernel.Bind<MyDBContext>().ToSelf().InRequestScope();

谢谢

在EF DbContext之上添加存储库模式对性能优化没有帮助.

DbContext是一个工作单元,用于跟踪加载/更改/添加的实体. IDbSet< T>基本上是一个存储库.所以DbContext有一个存储库列表. DbContext负责执行一些性能优化,例如不加载相同的实体两次,而是在通过id加载两次时返回相同的实例.
当然,要应用此功能,必须重用相同的DbContext实例.如果您创建两个DbContext实例,它们将加载同一个实体一次.

所以使用

kernel.Bind<MyDBContext>().ToSelf().InRequestScope();

而不是将自己的“存储库模式”置于MyDBContext之上是完全没问题的.

如何将asp.net-mvc项目中未使用存储库模式的实体框架依赖注入改写为长尾词?

标签:没有存储