• CRL2.1更新


    1. 增加没有主键ID的抽象类,使能自义主键字段实现MODEL
      抽象类定义结构为
      /// <summary>
      /// 基类,不包含任何字段
      /// 如果有自定义主键名对象,请继承此类型
      /// </summary>
      [Serializable]
      public abstract class IModel : ICloneable
      

        

          /// <summary>
          /// 基类,包含Id, AddTime字段
          /// </summary>
          [Serializable]
          public abstract class IModelBase : IModel
          {
              /// <summary>
              /// 自增主键
              /// </summary>
              [Attribute.Field(PrimaryKey = true)]
              public int Id
              {
                  get;
                  set;
              }
              private DateTime addTime = DateTime.Now;
      
              /// <summary>
              /// 添加时间
              /// </summary>
              public DateTime AddTime
              {
                  get { return addTime; }
                  set { addTime = value; }
              }
      
          }
      

      通过此改动,使继承IModel能转化任意类型为CRL操作对象,因此老系统也能进行升级为CRL了
      对于自定义主键对象,需指定主键属性

      public class Test:CRL.IModel
      {
            [CRL.Attribute.Field(PrimaryKey=true)]//指定属性为主键
            public int Key2
           {
                 get;set;
           }
      }
      

        

    2. 增加虚拟字段转换
      [CRL.Attribute.Field(VirtualField = "year(AddTime)")]
              public string Year
              {
                  get;
                  set;
              }
      public DateTime AddTime
      {
      get;set;
      }
      

      Year属性为虚拟字段,查询时会按year(AddTime)结果映射

    3. 增加属性覆盖
      public class ClassA : CRL.IModelBase
          {
              public string DataType
              {
                  get;
                  set;
              }
          }
          public class ClassB:ClassA
          {
              public new int DataType
              {
                  get;
                  set;
              }
          }
      

      ClassB继承ClassA,对象将按int DateType 映射

    新DLL已打包在示例中,点击下载

  • 相关阅读:
    swift mac 使用git, 并使用osc, 打开当前目录命令在终端输入 open . windows 下为start .
    压力测试-jmeter
    nginx在线与离线安装
    数据库架构简要解析
    maven-build-downloading
    springboot-权限控制shiro(二)
    mysql8报错解析
    springboot-权限控制shiro(一)
    pycharm问题解析(connecting to console)
    springboot-热部署Jrebel
  • 原文地址:https://www.cnblogs.com/hubro/p/4210839.html
Copyright © 2020-2023  润新知