如何在Entity Framework Core中从App.config或WebConfig.config加载连接字符串

巴萨姆·阿鲁吉利(Bassam Alugili)

在旧版本中,我可以直接在DbContext构造函数中提供连接字符串。

EF v6中的示例:App.config中的连接字符串如下所示:

  <connectionStrings>
    <add name="DatabaseConnecionString"
    connectionString="Data Source=.;Initial Catalog=db;Integrated Security=true"
    providerName="System.Data.SqlClient"/>
  </connectionStrings> 

var myDbContext = MyDbContext("name=DatabaseConnecionString");

当我用EF 7 / Core做同样的事情时,我得到一个错误吗?

巴萨姆·阿鲁吉利(Bassam Alugili)

在Entity Framework 7 / Core中,您不能像过去那样将连接字符串名称传递给DbContext基类构造函数,但是有另一种解决方案。

解决方案一:

var optionsBuilder = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder();
var connectionString = ConfigurationManager.ConnectionStrings["DatabaseConnecionString"].ConnectionString;
optionsBuilder.UseSqlServer(connectionString);
 using (var dbContext = new DatabaseContext(optionsBuilder.Options))
 {
    dbContext.Users.Add(new User() { Name = "Bassam" });
    dbContext.SaveChanges();
 }

解决方案二:

如果要使用提供的连接字符串进行数据库迁移,则必须将加载内容放入DbContext中。

public class DatabaseContext : DbContext
{
    public DbSet<User> Users { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
      var connectionString = ConfigurationManager.ConnectionStrings["DatabaseConnecionString"].ConnectionString;
      optionsBuilder.UseSqlServer(connectionString);
    }

    public DatabaseContext()
    {
    }

    public DatabaseContext(DbContextOptions s)
    : base(s)
    {
    }
}

如果App.config不在Assembly(dll / exe)中,则必须使用数据迁移命令Add-Migration / Update-Migration来给启动项目。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Entity Framework Core中从App.config或WebConfig.config加载连接字符串

来自分类Dev

如何从App.config中检索连接字符串

来自分类Dev

无法在web.config中为dev,qa和prod设置Entity Framework连接字符串

来自分类Dev

连接字符串已从Web.Config而不是App.Config加载

来自分类Dev

如何在app.config中转换连接字符串

来自分类Dev

如何在app.config文件中表示连接字符串

来自分类Dev

如何从webconfig中删除连接字符串?

来自分类Dev

在C#中以编程方式更新连接字符串后重新加载web.config

来自分类Dev

如何将CommandTimeout添加到web.config中的连接字符串

来自分类Dev

如何读取config.ini文件中的连接字符串

来自分类Dev

如何使用C#在app.config中为mysql数据库提供默认的连接字符串

来自分类Dev

Clickonce app.config连接字符串

来自分类Dev

如何在Entity Framework 7中为字符串属性创建索引

来自分类Dev

如何在Entity Framework 6中更改字符串属性的默认最大长度?

来自分类Dev

如何在Entity Framework 6中更改字符串属性的默认最大长度?

来自分类Dev

在C#中的app.config中设置连接字符串

来自分类Dev

如何在ASP.NET中以编程方式在web.config运行时中添加新的连接字符串?

来自分类Dev

如何动态更改Entity Framework EDMX连接字符串

来自分类Dev

实体框架引发无效操作异常-在app.config中找不到连接字符串

来自分类Dev

加密app.config中的连接字符串,以便它可以在不同的系统上工作

来自分类Dev

实体框架引发无效操作异常-在app.config中找不到连接字符串

来自分类Dev

如何在Entity Framework中获取数字字符串列的最大值

来自分类Dev

如何在Entity Framework中获取数字字符串列的最大值

来自分类Dev

如何在Entity Framework Core中运行存储过程?

来自分类Dev

如何在Entity Framework Core 3.0中播种?

来自分类Dev

如何在Entity Framework Core中做count等聚合函数

来自分类Dev

Winforms-程序无法从app.config中找到连接字符串

来自分类Dev

app.config文件C#winforms保留连接字符串

来自分类Dev

直接从app.config文件获取值到连接字符串

Related 相关文章

  1. 1

    如何在Entity Framework Core中从App.config或WebConfig.config加载连接字符串

  2. 2

    如何从App.config中检索连接字符串

  3. 3

    无法在web.config中为dev,qa和prod设置Entity Framework连接字符串

  4. 4

    连接字符串已从Web.Config而不是App.Config加载

  5. 5

    如何在app.config中转换连接字符串

  6. 6

    如何在app.config文件中表示连接字符串

  7. 7

    如何从webconfig中删除连接字符串?

  8. 8

    在C#中以编程方式更新连接字符串后重新加载web.config

  9. 9

    如何将CommandTimeout添加到web.config中的连接字符串

  10. 10

    如何读取config.ini文件中的连接字符串

  11. 11

    如何使用C#在app.config中为mysql数据库提供默认的连接字符串

  12. 12

    Clickonce app.config连接字符串

  13. 13

    如何在Entity Framework 7中为字符串属性创建索引

  14. 14

    如何在Entity Framework 6中更改字符串属性的默认最大长度?

  15. 15

    如何在Entity Framework 6中更改字符串属性的默认最大长度?

  16. 16

    在C#中的app.config中设置连接字符串

  17. 17

    如何在ASP.NET中以编程方式在web.config运行时中添加新的连接字符串?

  18. 18

    如何动态更改Entity Framework EDMX连接字符串

  19. 19

    实体框架引发无效操作异常-在app.config中找不到连接字符串

  20. 20

    加密app.config中的连接字符串,以便它可以在不同的系统上工作

  21. 21

    实体框架引发无效操作异常-在app.config中找不到连接字符串

  22. 22

    如何在Entity Framework中获取数字字符串列的最大值

  23. 23

    如何在Entity Framework中获取数字字符串列的最大值

  24. 24

    如何在Entity Framework Core中运行存储过程?

  25. 25

    如何在Entity Framework Core 3.0中播种?

  26. 26

    如何在Entity Framework Core中做count等聚合函数

  27. 27

    Winforms-程序无法从app.config中找到连接字符串

  28. 28

    app.config文件C#winforms保留连接字符串

  29. 29

    直接从app.config文件获取值到连接字符串

热门标签

归档