大家一起来学习一下面向对象的三层架构吧!今天我来说说Entity有时也叫MODEL实体层!
2011-05-23 17:52
441 查看
实体层,事实上就是数据库的对象化,把数据表抽象化,目前有很多这方面的工具,我们把这些工具称为ORM工具,即对象关系模型,microsoft在进入3.5时代后引入了LINQ的概念,LINQ的出现,大大提高了开发人员工作效率,它把传统的数据库直接对象了,并以IQueryable<T>的形式被以提供访问,它被称为是可查询的结果集,我们也可以把它理解为是一个VS项目里的数据库.
不说费话了,还是看看我的实体设计吧!
看清楚了吧,我们的实体是由两部分组成了,即"实体的基本属性"和"实体的验证机制"哈哈
去感受吧!
不说费话了,还是看看我的实体设计吧!
#region对实体层的实现
///<summary>
///实体通用接口
///</summary>
publicinterfaceIDataEntity
{
}
///<summary>
///实体验证接口
///</summary>
publicinterfaceIEntity
{
///<summary>
///实体是否有效,只提供读方法,它直接返回本类某方法的类即可,所以不提供set
///</summary>
boolIsValid{get;}
///<summary>
///验证迭代器
///</summary>
///<returns></returns>
IEnumerable<RuleViolation>GetRuleViolations();
}
///<summary>
///验证类结构
///</summary>
publicclassRuleViolation
{
publicstringErrorMessage{get;privateset;}
publicstringPropertyName{get;privateset;}
publicRuleViolation(stringpropertyName,stringerrorMessage)
{
this.ErrorMessage=errorMessage;
this.PropertyName=propertyName;
}
publicRuleViolation(stringerrorMessage)
{
this.ErrorMessage=errorMessage;
}
}
publicpartialclassDepartment:IDataEntity
{
//初始字段
#regionoriginalfield
///<summary>
///
///</summary>
publicintDeptID{get;set;}
///<summary>
///
///</summary>
publicstringDeptName{get;set;}
///<summary>
///
///</summary>
publicDateTimeCreateDate{get;set;}
///<summary>
///
///</summary>
publicDateTimeUpdateDate{get;set;}
///<summary>
///
///</summary>
publicstringOperator{get;set;}
///<summary>
///上一级ID,最高级别的父ID为0
///</summary>
publicintParentID{get;set;}
#endregion
//外延字段
#regionextensionalfield
#endregion
//构造函数
#regionconstructedfunction
///<summary>
///新建立的时候构造函数
///</summary>
publicDepartment()
{
}
///<summary>
///新建立的时候构造函数
///</summary>
///<paramname="_DeptID"></param>
publicDepartment(Int32_DeptID)
{
this.DeptID=_DeptID;
}
#endregion
//方法
#regionfunction
#endregion
//重写方法
#regionobjectoverrides
#endregion
}
publicpartialclassDepartment:IEntity
{
#regionIEntity成员
publicboolIsValid
{
get{return(GetRuleViolations().Count()==0);}
}
publicIEnumerable<RuleViolation>GetRuleViolations()
{
if(String.IsNullOrEmpty(this.DeptName))
yieldreturnnewRuleViolation("不能为空","DeptName");
if(String.IsNullOrEmpty(this.Operator))
yieldreturnnewRuleViolation("不能为空","Operator");
yieldbreak;
}
#endregion
}
#endregion
看清楚了吧,我们的实体是由两部分组成了,即"实体的基本属性"和"实体的验证机制"哈哈
去感受吧!
相关文章推荐
- [计算机基础]关于实体( Entity )和模型( Model )
- 说说今天学习的用JS绘制绚丽的时钟效果
- 今天装上了ubuntu 9.10 - 记录一下linux学习情况
- 用jquery面向对象实现的简单的图片轮播,还能学习一下闭包哦
- 又快一年没来CSDN了,记录一下,从今天开始写写segment-routing相关的学习记录
- 今天,刚来这里学习一下
- Mongodb学习(1)--- mongoose: Schema, Model, Entity
- 今天来总结一下在学习java一些重要内容(基本)
- 在MVC中更新Model-First Entity Framework POCO实体外键的方法
- 学习笔记,记录一下今天的反射机制
- 今天学习了一下,CS代码按我们的要求加载前台代码需要的JS,感觉很不错【值可以按我们的需要的加载】
- 今天新学习的函数,和大家分享一下
- 今天学习了一下正则表达式
- 今天简单的学习了一下布尔运算。
- 今天开始学习wince6.0 ,mark一下,用的6410 wince6.0平台
- 今天小金子分享一下我从开始学习编程以来的感受
- 《程序员的第一年》---------- 今天学习了一下aspnetpager分页控件的使用
- Entity Framwork 学习笔记 (二) 生成 数据 ADO.NET 数据实体模型
- 解决VS2012中没有ado.net实体数据模型(ADO.NET entity data model)的问题
- Ado.net entity data model搭建三层架构