微型项目实践(6):Business层代码分析——实体类的生成策略

上一篇中,我们分析了实体类的基类Entity,这一篇中,我们就分析一下基于该类的实体类。

每一个实体类都会有两个文件组成,我们以BlogClass为例,该类包含两个文件:BlogClass.cs和 BlogClass.designer.cs,这非常类似VS自己生成的代码,更方便的是,VS还会自动把这两个文件折叠起 来,如图。

这两个文件中,BlogClass.designer.cs包含所有的生成代码:成员、属性等,而BlogClass.cs则只包 含一个类的定义,供我们填写代码使用。

BlogClass.designer.cs的代码如下。

  1: using System;
  2: using System.Collections.Generic;
  3: using System.Data.Linq;
  4: using System.Linq;
  5: using System.Text;
  6: 
  7: using DongBlog.Common;
  8: 
  9: namespace DongBlog.Business.Blogs
 10: {
 11:   /// <summary>
 12:   /// 日志分类
 13:   /// </summary>
 14:   public partial class BlogClass
 15:   {
 16:     #region ID和时间戳
 17: 
 18:     private int _ID = NEW_ENTITY_ID;
 19:     private byte[] _TimeStamp = new byte[] { };
 20: 
 21:     /// <summary>
 22:     /// 取得ID
 23:     /// </summary>
 24:     public override int ID
 25:     {
 26:       get { return _ID; }
 27:     }
 28:     /// <summary>
 29:     /// 取得时间戳
 30:     /// </summary>
 31:     public override byte[] TimeStamp
 32:     {
 33:       get { return _TimeStamp; }
 34:     }
 35: 
 36:     #endregion
 37: 
 38:     #region 成员
 39: 
 40:     private string _Name;
 41:     private string _Description;
 42: 
 43:     #endregion
 44: 
 45:     #region 属性
 46: 
 47:     /// <summary>
 48:     /// 取得或设置名称
 49:     /// </summary>
 50:     public string Name
 51:     {
 52:       get { return _Name; }
 53:       set { _Name = value; }
 54:     }
 55:     /// <summary>
 56:     /// 取得或设置描述
 57:     /// </summary>
 58:     public string Description
 59:     {
 60:       get { return _Description; }
 61:       set { _Description = value; }
 62:     }
 63: 
 64:     #endregion
 65:   }
 66: }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索代码
, using
, system
, public
, description
, 实体
生成实体类
,以便于您获取更多的相关知识。

时间: 2024-09-20 17:59:25

微型项目实践(6):Business层代码分析——实体类的生成策略的相关文章

微型项目实践(5):Business层代码分析——实体基类

上一篇中,我们分析了Common中的几个类,这几个类都是辅助用的,其实不太重要,重要使我们今天 要分析的这几个类,包括Entity.IDatabase.IEntityDataAccess,其中Entity作为所有实体类的基类, 更是重中之重,而IDatabase.IEntityDataAccess这两个接口,则是为Entity类服务的. 先看那个熟悉的系统结构图. Entity.IDatabase.IEntityDataAccess这三个类型位于Business层中.该层目前的类图如下: 从图中

微型项目实践-目录

微型项目实践(12):查询与显示 微型项目实践(11):控件与格式化显示 微型项目实践(10):Master & Default 微型项目实践(9):页面的数据访问策略 微型项目实践(8):数据访问的实现 微型项目实践(7):数据访问的定义 微型项目实践(6):Business层代码分析--实体类的生成策略 微型项目实践(5):Business层代码分析--实体基类 微型项目实践(4):Common层代码分析 微型项目实践(3):实体代码的生成 微型项目实践(2):用测试驱动代码生成 微型项目实

微型项目实践(4):Common层代码分析

上一篇中,我们生成了实体代码,加入了Business和Common,项目突然变得大了起来,现在我们就来 一点点分析. 我们还是从这张系统结构图出发.先来看Common这个DLL,其中所包含的类,如下图所示. 1,验证相关类(IValidatable,Validater,ValidateResult,ValidateFailException) 这四个类主要是在业务层,验证实体数据时使用,每一个实体(Entity)在保存数据时对其自身数据 进行验证,以保证绝不让非法数据保存到数据库中,这四个类就是

微型项目实践(3):实体代码的生成

上两篇我们已经有了一个XML,并且根据这个XML生成了数据库,这次我们来看一下如何从这个XML得到 初步的实体类.还是那个XML: 1: <?xml version="1.0" encoding="utf-8" ?> 2: <Entities xmlns="http://it.ouc.edu.cn/EntityDescription/V2"> 3: <Entity title="日志" name=

艾伟也谈项目管理,微型项目实践感悟

1. 什么是微型项目 微型项目是指绝大部分工作由一个人员负责的项目,这个核心成员负责项目的系统分析.构架.及绝大部分的编码工作.项目的持续时间一般不会超过一个月.项目的参与人员除了核心的程序员外还可能一部分辅助人员,包括第二程序员(负责一部分编码工作).美工(负责界面设计)等. 微型项目的规模一般很小,业务逻辑也比较简单,价格一般也不会超过10K.程序员通常直接和对方领导打交道.客户大多没有任何技术背景.需要程序员直接负责系统的需求分析. 2. 微型项目分析 2.1 一般流程: 微型项目的流程可

微型项目实践(7):数据访问的定义

上一篇中我们分析了实体类,这一篇我们来看看数据访问是怎么设计的. 从系统结构图中可以看出,到目前为止我们没有任何关于数据库访问的实现部分,而Business则仅仅 是给出了IDatabase和IEntityDataAccess这两个用于定义数据访问要实现什么功能的接口.我们认为数据 访问如何实现是系统的细节,而领域模型(业务逻辑)是抽象,抽象的领域模型定义.但不关心.更不依 赖数据访问和数据库的设计与实现.相反,作为实现的细节,数据层根据业务逻辑的需要实现,随业务逻 辑的变更而变更,这也符合DI

微型项目实践(2):用测试驱动代码生成

上一篇文章中,我们分析了系统的两个实体类,并且给出了对应的实体XML.今天我们来看看如何根据 这个XML进行代码生成. 1: <?xml version="1.0" encoding="utf-8" ?> 2: <Entities xmlns="http://it.ouc.edu.cn/EntityDescription/V2"> 3: <Entity title="日志" name="

Android平台webkit组件java层代码分析

转自ITeye: constGU 本文将围绕android平台webkit组件中,java层的几个主要类进行分析,说明各个类的职责以及类之间的关系.若有错误疏漏之处,望不吝指出. (源码所在目录  ${framework_sourcecode_loc}\core\java\android\webkit ) 一.概述 Android平台webkit组件java层封装了一系列浏览网页相关的功能,对开发者而言,主要功能有以下两点: 1.接收上层请求(eg:loadUrl, goBack, reload

解析ABP框架领域层中的实体类与仓储类_基础应用

领域层实体是DDD(领域驱动设计)的核心概念之一.Eric Evans是这样描述的"很多对象不是通过它们的属性定义的,而是通过一连串的连续性事件和标识定义的"(引用领域驱动设计一书). 译者注:对象不是通过它们的属性来下根本性的定义,而应该是通过它的线性连续性和标识性定义的..所以,实体是具有唯一标识的ID且存储在数据库中.实体通常被映射成数据库中的一个表. 实体类(Entity classes) 在ABP中,实体继承自Entity类,请看下面示例: public class Pers