基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 数据关系映射ORM
2010-07-01 10:20
931 查看
上一遍我介绍了AgileEAS.NET中统计的数据访问,本文我将来介绍AgileEAS.NET中的ORM实现思路。关于ORM的概念和介绍,我在此就不在重复介绍了,我相信大家都很熟悉这个概念了。
AgileEAS.NETORM并没有采用如NHibernate中映射文件的文件的模式,而是采用了直接硬编码的模式实现,ORM体系设计采用了属性/列>数据对象>数据集合(表)的结构:
ElementType /// <summary>
/// Condition 类的数据元素(Element)类型枚举。
/// </summary>
public enum ElementType
{
/// <summary>
/// “=”比较指定值与指定属性
/// </summary>
EqualTo = 0x00000000,
/// <summary>
/// “>”比较指定值与指定属性
/// </summary>
GreaterThan = 0x00000001,
/// <summary>
/// “>=”比较指定值与指定属性
/// </summary>
GreaterThanAndEqualTo = 0x00000002,
/// <summary>
/// “(不等于)”"比较指定值与指定属性
/// </summary>
NotEqualTo = 0x00000003,
/// <summary>
/// “(小于)”比较指定值与指定属性
/// </summary>
LessThan = 0x00000004,
/// <summary>
/// “小于等于”"比较指定值与指定属性
/// </summary>
LessThanAndEqualTo = 0x00000005,
/// <summary>
/// (BetWeen),介于两个介之间。
/// </summary>
BetWeen=0x00000010,
/// <summary>
/// (NotBetWeen),不介于两个介之间。
/// </summary>
NotBetWeen=0x00000020,
/// <summary>
/// 指定子字符串与指定属匹配(模式匹配%value%)
/// </summary>
Match = 0x00000100,
/// <summary>
/// 指定子字符串与指定属匹配(前缀匹配value%)
/// </summary>
MatchPrefix = 0x00000200,
/// <summary>
/// 指定子字符串与指定属匹配(后缀匹配%value)
/// </summary>
MatchSuffix = 0x00000300,
/// <summary>
/// 指定子字符串与指定属不匹配(%value%)。
/// </summary>
NotMatch = 0x00000400,
/// <summary>
/// 指定子字符串与指定属不匹配(前缀不匹配value%)。
/// </summary>
NotMatchPrefix = 0x00000500,
/// <summary>
/// 指定子字符串与指定属不匹配(后缀不匹配%value)。
/// </summary>
NotMatchSuffix = 0x00000600,
/// <summary>
/// 指定子字符串中的字匹配(字匹配value__value)。
/// </summary>
WordMatch = 0x00000700,
/// <summary>
/// 指定子字符串中的字不匹配(字匹配value__value)。
/// </summary>
NotWordMatch = 0x00000800,
/// <summary>
/// 与给定的列表list里的值匹配。
/// </summary>
In = 0x00001000,
/// <summary>
/// 与给定的列表list里的值不匹配。
/// </summary>
NotIn = 0x00002000,
/// <summary>
/// 直接构造字符串,传入就是条件元素。
/// </summary>
SqlCondition = 0x00008000
}[/code]
在这些定义中,有一个特殊的条件类型,SqlCondition条件类型,我们在进行条件映射时,现实中的数据总是复杂的,有很多无法直接使用各种条件映射出,或者,通过单条件映射组件条件很复杂,我们可以直接使用SQL语句作为条件,在这个时间,就可以使用SqlCondition条件类型。它为我们保留了编写优质高效SQL语名的接口。
ElementCombineType
两个条件或者两条条件元素的组合方式,OR或者AND
至此,ORM组织体系大概介绍完成,不过在此文中,并未对ORM的数据访问机制,关于这部分我在下文介绍。
QQ群:15118502
链接:AgileEAS.NET应用开发平台介绍
AgileEAS.NET之敏捷并行开发方法
敏捷软件工程实验室
AgileEAS.NETORM并没有采用如NHibernate中映射文件的文件的模式,而是采用了直接硬编码的模式实现,ORM体系设计采用了属性/列>数据对象>数据集合(表)的结构:
ElementType /// <summary>
/// Condition 类的数据元素(Element)类型枚举。
/// </summary>
public enum ElementType
{
/// <summary>
/// “=”比较指定值与指定属性
/// </summary>
EqualTo = 0x00000000,
/// <summary>
/// “>”比较指定值与指定属性
/// </summary>
GreaterThan = 0x00000001,
/// <summary>
/// “>=”比较指定值与指定属性
/// </summary>
GreaterThanAndEqualTo = 0x00000002,
/// <summary>
/// “(不等于)”"比较指定值与指定属性
/// </summary>
NotEqualTo = 0x00000003,
/// <summary>
/// “(小于)”比较指定值与指定属性
/// </summary>
LessThan = 0x00000004,
/// <summary>
/// “小于等于”"比较指定值与指定属性
/// </summary>
LessThanAndEqualTo = 0x00000005,
/// <summary>
/// (BetWeen),介于两个介之间。
/// </summary>
BetWeen=0x00000010,
/// <summary>
/// (NotBetWeen),不介于两个介之间。
/// </summary>
NotBetWeen=0x00000020,
/// <summary>
/// 指定子字符串与指定属匹配(模式匹配%value%)
/// </summary>
Match = 0x00000100,
/// <summary>
/// 指定子字符串与指定属匹配(前缀匹配value%)
/// </summary>
MatchPrefix = 0x00000200,
/// <summary>
/// 指定子字符串与指定属匹配(后缀匹配%value)
/// </summary>
MatchSuffix = 0x00000300,
/// <summary>
/// 指定子字符串与指定属不匹配(%value%)。
/// </summary>
NotMatch = 0x00000400,
/// <summary>
/// 指定子字符串与指定属不匹配(前缀不匹配value%)。
/// </summary>
NotMatchPrefix = 0x00000500,
/// <summary>
/// 指定子字符串与指定属不匹配(后缀不匹配%value)。
/// </summary>
NotMatchSuffix = 0x00000600,
/// <summary>
/// 指定子字符串中的字匹配(字匹配value__value)。
/// </summary>
WordMatch = 0x00000700,
/// <summary>
/// 指定子字符串中的字不匹配(字匹配value__value)。
/// </summary>
NotWordMatch = 0x00000800,
/// <summary>
/// 与给定的列表list里的值匹配。
/// </summary>
In = 0x00001000,
/// <summary>
/// 与给定的列表list里的值不匹配。
/// </summary>
NotIn = 0x00002000,
/// <summary>
/// 直接构造字符串,传入就是条件元素。
/// </summary>
SqlCondition = 0x00008000
}[/code]
在这些定义中,有一个特殊的条件类型,SqlCondition条件类型,我们在进行条件映射时,现实中的数据总是复杂的,有很多无法直接使用各种条件映射出,或者,通过单条件映射组件条件很复杂,我们可以直接使用SQL语句作为条件,在这个时间,就可以使用SqlCondition条件类型。它为我们保留了编写优质高效SQL语名的接口。
ElementCombineType
两个条件或者两条条件元素的组合方式,OR或者AND
/// <summary> /// Condition 类的数据元素(Element)之间的组合方法。 /// </summary> public enum ElementCombineType { /// <summary> /// And,两个Element 对象之间是以And 为组合条件。 /// </summary> And = 0x0000, /// <summary> /// Or,两个Element 对象之间是以Or 为组合条件。 /// </summary> Or = 0x0001 }
至此,ORM组织体系大概介绍完成,不过在此文中,并未对ORM的数据访问机制,关于这部分我在下文介绍。
QQ群:15118502
链接:AgileEAS.NET应用开发平台介绍
AgileEAS.NET之敏捷并行开发方法
敏捷软件工程实验室
相关文章推荐
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ORM设计器
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - Linq 2 EAS.NET,Orm支持Linq
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ORM体系的改进与ORM的新成员
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 数据层开发
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 统一数据访问
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 插件标记实现
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 报表系统集成说明
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 账户与角色
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 权限管理
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 数据访问
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 处理报表
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 报表系统介绍
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 插件接口IModule扩展
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 5.0 简介
- 基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件运行容器
- 基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET 4.0 简介
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 程序集说明
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 分布式应用
- 基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件接口IModule