利用分布类防止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; }
        }
    }
}
时间: 2024-10-26 09:42:14

利用分布类防止EF更新模型丢失验证信息的相关文章

利用runtime实现延展动态改变模型类中属性的set,get方法

昨天大概的阐述了一下关于构架控制容器的概念,但是如果要丰满这个想法还有很多问题,比如如果我想对一些controller进行管理就势必涉及到controller的加载以及缓存,而想做这些的前提就是构建一个controller表.对表中设定的字符串管理,从而管理对应的controller.传统创建表的方法有很多,最为常用的就是plist文件,但是对于iOS开发的程序员来说,如果这个plist写死,在管理的时候就会比较死板,要知道oc是一门灵活的,动态的语言.如果我们使用NSUserDefaults,

iOS开发小技巧--利用MJExtension解决数据结构复杂的模型转换

一.开发中难免会遇到,系统返回的数据中字典套集合,集合里面又套一层字典,然后字典里面还有字典或者集合等等的复杂结构的数据...MJExtension轻松搞定这类问题 1.解决方法一: 例:百思项目中帖子数据有个模型,模型中还有一个最热评论的集合数据,集合数据要求是ChaosComment模型数据,然后ChaosComment模型中还有一个user字典(ChaosUser模型),如图: 解决方案:利用MJExtension,实现mj_objectClassInArray方法,告诉模型中的这个集合属

ANT发布SVN WEB项目到TOMCAT以及利用post-commit自动提交编译更新

开发人员在本地提交更新到SVN服务器后,往往需要测试人员重新测试.为了将更新内容即时反映到测试服务器,可以利用post-commit脚本将SVN更新同步到测试服务器中. (1)利用SVN的工作副本(WORKINGCOPY)创建TOMCATWEB项目 cd /opt/tomcat_home/webapps svn co svn://svn_host/prjname/trunk prjname 修改tomcat的配置文件server.xml,在HOST标签中添加如下内容 <Context cross

Laravel 利用 observer 类基于状态属性,对进行删除和修改的控制

1 我们知道 Observer 类可以监听模型类的相关事件 1.1 creating, created, updating, updated, saving, saved, deleting, deleted etc. 1.2 利用这些事件,我们可以实现对删除和修改的控制 2 但是,如果判断的依据是本身属性时,这种方法就不妥了 2.1 比如,任务对象有一个状态属性,取值范围:进行中.已完成.已取消. 2.2 如果已完成,则不可删除,且不可修改. 2.3 矛盾来了,在不可修改的情况下,如何变更状态

EF更新指定字段...

EF更新指定的字段... 搜来搜去发现没有自己想要的啊... 或许本来就有更好的办法来实现我这个,所以没有人来搞吧... 如果有,请不吝告知..GG.. //要更改UserInfo表中指定的列,比如这个表有15列,如果很多列都要更新,就要判断要更新哪个不要更新哪个.. //现在这样就是传过来多少列,循环更新下就可以了 public string UserInfo_Update_Test(string jsonParames) { jsonParames = "一个json串";//比如

Spring利用propertyConfigurer类 读取.property数据库配置文件

1.Spring的框架中,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类可以将.properties(key/value形式)文件中 一些动态设定的值(value),在XML中替换为占位该键($key$)的值, .properties文件可以根据客户需求,自定义一些相关的参数,这样的设计可提供程序的灵活性. 2.在Spring中,使用PropertyPlaceholderConfigurer可以在XM

Python 更新模型

更新模型分为两种,即可变类型和不可变类型: (1) 可变类型:该类型的值可以被修改,列表.字典都属于这种类型 (2) 不可变类型:该类型的值不可以被修改,数字.字符串.元组都属于这种类型

利用RandomAccessFile类在指定文件指定位置插入内容

package File; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; /*利用RandomAccessFile类在指定文件指定位置插入内容.*/ public class InsertContent { public static void ins

【Java】利用Collections类下的shuffle洗牌方法改进在一定的范围内产生不重复的随机数

上次在<[Java]在一定的范围内产生不同的随机数>(点击打开链接)上所提到的方法,尽管已经解决了一定范围内产生不同随机数的问题,运行速度已经可以的,至少不会弄很久都弄不好,其实利用Collections类下的shuffle方法思想可以更清晰.速度更快地在一定的范围内产生不同的随机数. Collections类下的shuffle方法是可以随机打乱一个数组中的元素的程序,也叫做洗牌方法. 有这个方法,配合我在<[Java]Java中的Collections类--Java中升级版的数据结构&