9.2 数据库上下文
📝 模块更新日志
连接字符串配置注意事项
如果连接字符串是配置在自定义的 .json 文件中,那么必须在 Visual Studio 中配置 .json 右键属性,设置 复制 输出目录为 如果较新则复制,生成操作为:内容。
否则就会提示找不到配置或连接字符串的错误。
9.2.1 数据库上下文
简单来说,数据库上下文是负责和数据库交互的对象,提供程序对数据库存取提供了大量的方法。
在 Furion 框架中,默认集成了微软亲儿子:EntityFramework Core ,也就是通常数据库上下文指的是 DbContext 类或它的实现类。
9.2.2 AppDbContext
在我们实际项目开发过程中,使用 EFCore 提供的 DbContext 操作对象操作数据库有些繁琐和复杂,且默认不具备读写分离、多库等操作功能。
所以,Furion 框架提供了 AppDbContext<TDbContext, TDbContextLocator> 数据库上下文,该上下文继承自 DbContext。
特别说明
后续章节,皆采用 EFCore 代替 EntityFramework Core。
9.2.3 AppDbContext 和 DbContext 区别
AppDbContext继承自DbContext,具备DbContext所有功能。AppDbContext支持多数据库操作泛型版本,如:AppDbContext<TDbContext, TDbContextLocator>AppDbContext自动配置实体信息,无需在OnModelCreating中配置AppDbContext支持内置多租户支持AppDbContext支持全局模型配置拦截器AppDbContext支持数据提交更改多个事件AppDbContext提供更加强大的模型操作能力,如Sql操作,读写分离等AppDbContext能够得到Furion框架更多的功能支持

