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

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
博客园_首页
H
Help Net Security
博客园 - Franky
V
Visual Studio Blog
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
J
Java Code Geeks
L
LangChain Blog
腾讯CDC
Engineering at Meta
Engineering at Meta
D
DataBreaches.Net
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
C
Check Point Blog
博客园 - 聂微东
罗磊的独立博客
量子位
M
MIT News - Artificial intelligence
F
Fortinet All Blogs

博客园 - 燕闪硕

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; }
        }
    }
}