我在启动时创建实体框架db上下文
services.AddTransient<MyContext>(_ => new MyContext(connectionString));
我在每个需要实体框架添加/编辑/删除的服务类中注入此上下文。
private readonly MyContext context;
public ArchiveService(MyContext context)
{
this.context = context;
}
对于IoC,我正在使用Microsoft.Extensions.DependencyInjection。 这意味着我的依赖注入容器负责处理db上下文。
我如何确定上下文的处理?
我是否需要配置某些内容来处理数据库上下文?
感谢您的帮助。
答案 0 :(得分:5)
在asp.net核心中,您在"""
Do something.
:todo: This is my Todo-Item that is sadly not found
"""
# Todo: When I use line comments it is found.
def my_function():
pass
注册的所有服务都与范围一起处理,因此 - 当请求结束时。您可能会问AddTransient
和Transient
之间的区别是什么?对于Scoped
- 为每个分辨率创建新实例。在您的情况下 - 您的所有服务类都将具有Transient
的不同实例。所有这些都将在请求结束时处理。对于MyContext
- 只为给定的请求(范围)创建一个实例,因此您的所有服务都将共享同一个实例,该请求在请求结束时处理。