ZheYK.EditPageBase EF编辑页缓存封装基类

新增/编辑页的通用逻辑封装,ZheYK.EditPageBase做得还蛮巧妙的。是EF缓存这块,挺多坑的它都帮你踩过了。

EF 缓存的问题你遇到过:编辑页查了一次数据,更新的时候换了个实体就报错,或者改了却没更新。网上多人说加AsNoTracking(),但你也知道,这玩意儿省事是省事,可等你删数据的时候出问题,那才叫麻烦。

EditPageBase这套方案呢,比较聪明地用了EntityOldEntity来分开新增和更新/删除的操作。新增直接new个实体返回就好,编辑的时候就只对查出来的那个实体下手,不用担心上下文冲突,逻辑也清晰不少。

如果你项目里页面多、增改逻辑又重复,强烈建议封装一个类似的基类。配合 EF 的缓存机制用,性能上还不错,代码也更稳妥。

要是你还在上手EF,可以看看这几篇文章:

如果你用 EF 时经常被缓存绕晕,可以考虑按这个思路改一改你的增改逻辑,嗯,轻松不少。

cs 文件大小:4.18KB