asp.net

base.OnModelCreating

2025-08-24

在Entity Framework Core中,base.OnModelCreating是继承自基类DbContext的受保护方法,用于配置实体映射规则。该方法在派生类中重写时,需先调用基类的OnModelCreating方法以保留框架默认的映射逻辑,再添加自定义配置。 ‌


常见用途

‌1、多租户全局过滤‌

通过HasQueryFilter方法为实体添加全局查询过滤条件,例如软删除字段的过滤。 ‌


‌2、动态表生成‌

在派生类中通过OnModelCreating配置动态表生成逻辑,例如根据枚举类型动态创建表结构。 ‌


3、多数据库支持‌

通过传递连接字符串键值参数实现动态切换数据库,例如MySQL与SQL Server的切换。 ‌


注意事项

‌顺序要求‌:必须先调用base.OnModelCreating保留框架默认映射,再添加自定义配置。 ‌

‌代码优化‌:避免重复配置相同实体,可通过扩展方法或配置文件统一管理。