在.net核心中放置dbcontext时?

时间:2018-11-28 22:29:59

标签: c# entity-framework asp.net-core

使我的项目具有持久层,域层和业务层,并使用实体框架核心实现通用的存储库模式和工作单元。

我想在Web api rest和UWP项目中使用该项目。

其覆盖方法的正确方法是?在启动configureconfigs中添加上下文?何时放置dbcontext?

1 个答案:

答案 0 :(得分:4)

阅读有关配置DbContext的文档:https://docs.microsoft.com/en-us/ef/core/miscellaneous/configuring-dbcontext

基本上,您将其添加到您的服务中:

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<BloggingContext>(options => options.UseSqlite("Data Source=blog.db"));
}

然后将其注入所需的任何类中。一个简单的例子是将其注入Controller(但可以注入添加到服务中的任何类):

public class MyController
{
    private readonly BloggingContext _context;

    public MyController(BloggingContext context)
    {
        _context = context;
    }

    ...
}

然后,依赖注入库将处理处置-您不会直接调用Dispose。 here文档对此进行了说明。

  

该框架负责创建一个实例   依赖项,并在不再需要它时进行处理。