ZheYK.EditPageBase EF编辑页缓存封装基类
新增/编辑页的通用逻辑封装,ZheYK.EditPageBase
做得还蛮巧妙的。是EF
缓存这块,挺多坑的它都帮你踩过了。
EF 缓存的问题你遇到过:编辑页查了一次数据,更新的时候换了个实体就报错,或者改了却没更新。网上多人说加AsNoTracking()
,但你也知道,这玩意儿省事是省事,可等你删数据的时候出问题,那才叫麻烦。
EditPageBase
这套方案呢,比较聪明地用了Entity
和OldEntity
来分开新增和更新/删除的操作。新增直接new
个实体返回就好,编辑的时候就只对查出来的那个实体下手,不用担心上下文冲突,逻辑也清晰不少。
如果你项目里页面多、增改逻辑又重复,强烈建议封装一个类似的基类。配合 EF 的缓存机制用,性能上还不错,代码也更稳妥。
要是你还在上手EF
,可以看看这几篇文章:
如果你用 EF 时经常被缓存绕晕,可以考虑按这个思路改一改你的增改逻辑,嗯,轻松不少。
4.18KB
文件大小:
评论区