EFCore中实体映射以及Mapper字段处理
EFCore中,数据库表与实体属性进行映射时,有些字段不需要数据库存储,但实体需要属性展示,通常用EF字段的NotMapper属性进行装饰(有的版本未实现此功能),或者在OnModelCreating进行Ignore设置。
属性装饰时,若是实体基类中共有的属性,可在基类进行统一设置;但若基类是继承自其他类库,则不方便进行统一设置,如继承自Volo.Abp的聚合根AggregateRoot,要设置其中一个字段不映射,以及某些表某几个公共字段不需映射;OnModelCreating中Ignore设置需要做很多重复的工作。
类库NetCore.EFModel.ConfigBuilder,对某一个实体,可进行数据库表名配置,忽略的属性设置,支持属性装饰,多个属性同时设置;也可在DbContext中OnModelCreating方法统一设置多个忽略属性。nguet下载包zxsn.NetCore.EFModel.ConfigBuilder(目前1.0.1版本)。使用方法如下:
1、实体Mapper。可设置表名TableMapper,主键以及不映射的字段,同时可对单个字段进行属性设置DbNoMapper
2、DbContext中OnModelCreating方法通过程序集的进行统一配置。
ModelCreating方法设置参数:程序集属性,需要统一配置忽略的属性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示