利用分布类防止EF更新模型丢失验证信息

Posted 燕闪硕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用分布类防止EF更新模型丢失验证信息相关的知识,希望对你有一定的参考价值。

数据库表TT,EF生成的model是这样的。在这里添加代码,从数据库更新模型是会冲掉。

//------------------------------------------------------------------------------
// <auto-generated>
//     此代码已从模板生成。
//
//     手动更改此文件可能导致应用程序出现意外的行为。
//     如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------

namespace YYMovie.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    public partial class TT
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public string Info { get; set; }
        public Nullable<System.DateTime> SubmitTime { get; set; }
        public Nullable<decimal> Price { get; set; }
    }
}

 

新建一个类 TT 如下,这样就不会被冲掉了

namespace YYMovie.Models
{
    /**
     * 自定义验证,更新模型时不会被冲掉
     * 
     */
    [MetadataType(typeof(Yanzheng))]
    public partial class TT
    {
        class Yanzheng
        {
            public int ID { get; set; }
            [Display(Name = "标题:")]
            [StringLength(50, ErrorMessage = "标题太长了")]
            public string Title { get; set; }
            public string Info { get; set; }
            public Nullable<System.DateTime> SubmitTime { get; set; }
            public Nullable<decimal> Price { get; set; }
        }
    }
}

 

以上是关于利用分布类防止EF更新模型丢失验证信息的主要内容,如果未能解决你的问题,请参考以下文章

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Django REST框架--认证和权限

如何防止在背面片段导航上再次设置视图模型

ASP MVC 数据库优先 - 刷新 EF 实体框架时丢失所有验证

警惕!别让验证码“验”走你的钱