zoukankan      html  css  js  c++  java
  • 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已打包在示例中,点击下载

  • 相关阅读:
    tp5 phpstudy配置问题
    无限级分类的写法
    使用微信共众号 提供网页登陆接口
    destoon数据库表说明汇总如下
    destoon 配置文件config.inc.php参数说明
    destoon二次开发流量
    thinkphp5 模型读取器和修改器
    thinkphp5 模型的 删作操作
    thinkphp5 模型的 查询操作
    轻松搞定数据验证(三)
  • 原文地址:https://www.cnblogs.com/hubro/p/4210839.html
Copyright © 2011-2022 走看看