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

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

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

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

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

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