c# - 如何在 Autofac json 配置文件中配置 DbContext
问题描述
环境:VS 2019,C# .NET Framework 4.6.1
我正在使用一个.json
文件来保存我的所有配置:
IConfigurationBuilder config = new ConfigurationBuilder();
config.AddJsonFile("autofac.json");
我的问题是,如何将 包含DbContext
在此文件中?我将 Autofac 添加到现有应用程序并在新部分中使用它。原代码中的代码是这样的(把真名改成“My*”保护无辜):
public partial class MyDbContext : DbContext, IDisposable
{
public MyDbContext () : base("MyDB")
{}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{}
}
是否可以将DbContext
具体类与现有接口相关联(是否存在)或者我应该围绕它创建一个包装器,然后为包装器类创建一个相应的接口?
解决方案
典型的做法是将连接信息(例如连接字符串)放入配置文件,而不是服务类的 JSON 表示,例如 a DbContext
)。
然后,您可以注入具体的上下文(或者,更好的是,一个IDbContextFactory创建MyDbContext
.
在配置文件中提供非配置内容(例如 repos、服务类、EF 资源等)很快就会变得非常有问题。坚持单独配置。
推荐阅读
- php - Mysql + PHP, ASC 后面那个 DESC 每 5 条数据?
- mysql - 如何使用 Go-GORM 解决弱实体的重复列错误?
- javascript - npm run dev 在 DigitalOcean 应用程序上返回“失败:EOF”错误
- flutter - 如何在颤动中覆盖 MaterialApp 的主题
- ios - 单击按钮时(不在模拟器中),如何在 XCode 12.3“预览”中的 SwiftUI 中打印某些内容?
- javascript - 如何使用 firebase 函数从 firestore 检索文档并从另一个 firestore 文档添加新数据?
- python - 如何在 Python 中更改浮点精度?
- javascript - 运行多个实例的网站干扰 (JavaScript)
- python - HTML单选按钮在分配值时截断空格后的所有字母
- c - xcb_poll_for_event,这个函数如何返回错误?