惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
D
Docker
N
Netflix TechBlog - Medium
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
L
LangChain Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
博客园_首页
量子位
罗磊的独立博客
Blog — PlanetScale
Blog — PlanetScale
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
宝玉的分享
宝玉的分享
Apple Machine Learning Research
Apple Machine Learning Research
D
DataBreaches.Net
I
InfoQ
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
H
Help Net Security
V
V2EX

博客园 - 燕闪硕

EF Core 批量操作实战:3 种方案对比与性能测试 Python 开发 Windows 客户端:Web 技术做界面的 5 款核心工具 Python描述器(Descriptor)深度解析:OOP底层核心机制实操指南 使用pyenv-win管理多版本Python Python字符串编码及正则表达式使用 利用canvas在手机页面实现景区导航的一点思路 重装系统后遇到Git Authentication failed 错误 [转帖]如何准确高效的获取数据库新插入数据的主键id [转帖]SQL中partition关键字的使用 列表样式切换 CSS3 简易照片墙 HTML5表单增强 HTML5 元素拖放 HTML 5 全局属性 微软build 2015 写个程序登陆58同城 工厂方法 简单工厂 System.Data.SQLite兼容32位和64位问题
利用分布类防止EF更新模型丢失验证信息
燕闪硕 · 2016-05-16 · via 博客园 - 燕闪硕

数据库表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; }
        }
    }
}