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
框架更多的功能支持