【发布时间】:2020-04-14 08:35:44
【问题描述】:
我有一个由其他 dotnet 项目(Azure 函数应用程序和一个 Web 应用程序)使用的数据库项目。我想使用 dotnet ef core cli 来处理迁移,但我不想将我的连接字符串保留在代码中(我希望我的 repo 是公开的)。
这是我当前的 DbContext:
public ChadwickDbContext(DbContextOptions options): base(options) {}
当我运行类似的东西时:
dotnet ef migrations add InitialCreate
我得到错误:
无法创建“ChadwickDbContext”类型的对象。为了 设计时支持的不同模式,请参阅 https://go.microsoft.com/fwlink/?linkid=851728
这之前有效,因为我将连接字符串硬编码如下:
public ChadwickDbContext(string connectionString = "<connection string>"): base(GetOptions(connectionString)) {}
有没有办法通过 cli 来设置连接字符串,或者在纯数据库项目中包含某种环境文件,例如 appsettings.json?
Scaffolding 似乎接近我想要的,但这似乎更像是一种生成您的上下文和模型的方式(这已经完成)。
【问题讨论】:
-
可以在appsettings.json文件中添加
connectionstring -
我知道这一点,这就是我想要完成的。我不确定如何在 dotnet core3.1 中引用该文件
标签: c# .net entity-framework entity-framework-core