在Entity Framework Core中,base.OnModelCreating是继承自基类DbContext的受保护方法,用于配置实体映射规则。该方法在派生类中重写时,需先调用基类的OnModelCreating方法以保留框架默认的映射逻辑,再添加自定义配置。
常见用途
1、多租户全局过滤
通过HasQueryFilter方法为实体添加全局查询过滤条件,例如软删除字段的过滤。
2、动态表生成
在派生类中通过OnModelCreating配置动态表生成逻辑,例如根据枚举类型动态创建表结构。
3、多数据库支持
通过传递连接字符串键值参数实现动态切换数据库,例如MySQL与SQL Server的切换。
注意事项
顺序要求:必须先调用base.OnModelCreating保留框架默认映射,再添加自定义配置。
代码优化:避免重复配置相同实体,可通过扩展方法或配置文件统一管理。