欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解决MVC中Model上的特性在EF框架刷新时清空的问题

程序员文章站 2022-03-20 16:33:52
MVC中关于前端数据的效验一般都是通过在Model中相关的类上打上特性来实现。 但是在我们数据库发生改变,EF框架需要刷新时会把我们在Model上的特性全部清除,这样的话,我们前端的验证就会失效。 因此,我觉得可以使用Partial-局部类(伙伴类) 的方式来实现EF框架刷新特性不清除的功能。 在M ......

mvc中关于前端数据的效验一般都是通过在model中相关的类上打上特性来实现。

但是在我们数据库发生改变,ef框架需要刷新时会把我们在model上的特性全部清除,这样的话,我们前端的验证就会失效。

因此,我觉得可以使用partial-局部类(伙伴类) 的方式来实现ef框架刷新特性不清除的功能。

在model文件夹当中我们先建立一个类,一般命名为“你的类名”+partial,因为如果直接建立同名类会提示已存在,要求覆盖,或者在别的地方建同名类。(需要在class前面加上partial 关键字)

然后,我们打开类,在内部将类名取为同名类,为这个类打上特性-[metadatatype(typeof(x))]  这里是为了指定与数据模型类关联的元数据类. x-需要建立联系的类名。

建立起需要联系的类后,在类当中粘贴上你需要验证的类当中所有的属性,在这些属性上打上特性就相当于在model类中打上了特性,并且不会因为ef框架刷新而清除可以防止前后端的验证代码失效。