EF Dotnet Core-解决方案运行后设置连接字符串

时间:2019-05-04 07:00:17

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

我之所以写this question是因为我想了解如何创建DbContext,在该DbContext中,您仅在对用户进行身份验证之后才知道连接字符串(目录数据库中用户详细信息的连接字符串部分)。我的问题是我无法在启动服务中设置此设置,因为我必须等待用户登录。

got an answer建议这样做:

    var connection = @"Server=(localdb)\mssqllocaldb;Database=JobsLedgerDB;Trusted_Connection=True;ConnectRetryCount=0";
    var optionsBuilder = new DbContextOptionsBuilder<BloggingContext>();
    optionsBuilder.UseSqlServer(connection);

    using (var context = new BloggingContext(optionsBuilder.Options))
    {
      // do stuff
    }

Camilo Terevinto评论了这句话,这是一个非常糟糕的建议:

  

使用AddDbContext,EF Core使用后面的工厂来确定何时添加新对象   实例已创建

我已经注意到,该选项(答案)实际上位于“构造函数参数”下的EF Docs中。

如果它在文档中并且似乎是用户登录后运行的唯一方法,可以建立连接吗?有没有更好的办法?有我需要注意的事情吗?。想知道是否有人可以详细说明卡米洛的评论。

0 个答案:

没有答案