首页 > 代码库 > CRL2.1更新
CRL2.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; }}
- 增加虚拟字段转换
[CRL.Attribute.Field(VirtualField = "year(AddTime)")] public string Year { get; set; }public DateTime AddTime{get;set;}
Year属性为虚拟字段,查询时会按year(AddTime)结果映射
- 增加属性覆盖
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更新
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。