码迷,mamicode.com
首页 > 其他好文 > 详细

CRL2.1更新

时间:2015-01-08 14:57:42      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

  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已打包在示例中,点击下载

CRL2.1更新

标签:

原文地址:http://www.cnblogs.com/hubro/p/4210839.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!