MVC使用Entity Framework更新数据库时出现手工添加的校验信息丢失的解决方法使用partial类

解决方法

新建一个类,要求与Entity Framework自动生成的代码在同一命名空间下,并且是paritial类,然后在

类的名称打上[MetadataType(typeof(自己取一个类))],一般是写在partial类内部的private类,

废话好多,还是直接上代码吧!

如果需要添加对userID添加Display属性,则

可以使用下面的方法就可以避免重复定义属性了。

    [MetadataType(typeof(t_UserMeta))]

    public partial class t_User 
    {
        private class t_UserMeta
        {
            [DisplayName("用户ID")]
            public global::System.Int64 userID { get; set; }

}

  }


以下是EntityFramework自动生成的Model,对应一张关系表,这里只贴出userID这个属性

public partial class t_User : EntityObject
    {
         
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 userID

        {
            get
            {
                return _userID;
            }
            set
            {
                if (_userID != value)
                {
                    OnuserIDChanging(value);
                    ReportPropertyChanging("userID");
                    _userID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("userID");
                    OnuserIDChanged();
                }
            }
        }
        private global::System.Int64 _userID;
        partial void OnuserIDChanging(global::System.Int64 value);
        partial void OnuserIDChanged();

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值