zoukankan      html  css  js  c++  java
  • mvc+entity framework database first,生成的model每次更新一个表会更新所有的model

    在使用Entity Framework 的Database frist或model first时,直接加attribute到modle类上是太现实也不合理的,因为model类是自动生成的,重新生成后会覆盖自己的修改。一个比较合理 做法,就是用 partial class的方式来实现。

    比如有一个Model类: Movie。那我们就可以添加一个局部类文件,局部类的内容如下:

    using System.ComponentModel.DataAnnotations;
    namespace Movies.Models
    {
        [MetadataType(typeof(MovieMetadata))]
        public partial class Movie
        {
            class MovieMetadata
            {
                [Required(ErrorMessage="Titles are required")]
                public string Title { get; set; }
                [Required(ErrorMessage="The Price is required.")]
                [Range(5,100,ErrorMessage ="Movies cost between $5 and $100.")]
                public decimal Price { get; set; }
            }
        }
    }

    通过在这个局部类文件中添加需要的验证属性就可以了。

    实例2:

     [MetadataType(typeof(FileUploaderMetadata))]//使用FileUploaderMetadata对FileUploader进行数据验证
        public partial class FileUploader : IBaseEntity
        {
          
            #region 自定义属性,即由数据实体扩展的实体
            
            #endregion
    
        }
        public class FileUploaderMetadata
        {
                [ScaffoldColumn(false)]
                [Display(Name = "主键", Order = 1)]
                public object Id { get; set; }
    
                [ScaffoldColumn(true)]
                [Display(Name = "名称", Order = 2)]
                [StringLength(200, ErrorMessage = "长度不可超过200")]
                public object Name { get; set; }
    
                [ScaffoldColumn(true)]
                [Display(Name = "路径", Order = 3)]
                [StringLength(200, ErrorMessage = "长度不可超过200")]
                public object Path { get; set; }
        }
  • 相关阅读:
    理解TCP/IP,SOCKET,HTTP,FTP,RMI,RPC,webservic
    flyway 管理数据库版本
    【代码工具】Lombok来优雅的编码
    windows常用
    Elasticsearch-基础介绍及索引原理分析
    Zipkin和微服务链路跟踪
    【安装】Mac rabbitMQ
    数论四大定理的证明与部分应用(含算术基本定理)
    洛谷 P1306 斐波那契公约数 题解
    「SWTR-04」Sweet Round 04 游记
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/5134987.html
Copyright © 2011-2022 走看看