我在启动时创建实体框架数据库上下文
services.AddTransient<MyContext>(_ => new MyContext(connectionString));
Run Code Online (Sandbox Code Playgroud)
我在需要实体框架添加/编辑/删除或任何其他内容的每个服务类中注入了此上下文。
private readonly MyContext context;
public ArchiveService(MyContext context)
{
this.context = context;
}
Run Code Online (Sandbox Code Playgroud)
对于IoC,我正在使用Microsoft.Extensions.DependencyInjection。这意味着我的依赖项注入容器负责处理db上下文。
我如何确定上下文已被处置?
我需要配置一些东西来处理数据库上下文吗?
谢谢你的帮助。
在asp.net核心中,向其注册的所有服务AddTransient都与作用域一起放置,因此-请求结束时。Transient和之间有什么区别,Scoped然后您可能会问?对于Transient-为每个分辨率创建新实例。就您而言-您的所有服务类都将具有的不同实例MyContext。当请求结束时,所有这些都将被处置。对于Scoped-将仅为给定请求(作用域)创建一个实例,因此您的所有服务将共享同一实例,该实例在请求结束时被处置。
| 归档时间: |
|
| 查看次数: |
1488 次 |
| 最近记录: |