EF Core忽略某个属性保存
1.事情起因
某天朋友突然问我他的EF不能保存,让我帮忙看看,观察发现主表中存在明细表的集合,导致保存失败。
2.解决方案
方案1:DTO模型与DO模型分开,保存时映射。
分层领域模型规约名词解释:
- DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。
- DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。
方案2:保存时忽略对象保存。如果要从模型中排除某个类型,请使用 NotMapped 属性或 DbModelBuilder.Ignore Fluent API。微软文档传送门:https://docs.microsoft.com/zh-cn/ef/ef6/modeling/code-first/conventions/built-in