您的位置:首页 > 其它

基于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

/// <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之敏捷并行开发方法

敏捷软件工程实验室
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐