微型项目实践(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="Blog" module="Blogs">
  4:   <Item title="标题" name="Title" type="text" require="true"/>
  5:   <Item title="内容" name="Content" type="longtext" require="false"/>
  6:   <Item title="所属分类" name="BlogClass" type="entity" entityName="BlogClass" 

require="false"/>
  7:   <Item title="创建时间" name="CreateDateTime" type="datetime" 

require="true"/>
  8:   <Item title="更新时间" name="UpdateDateTime" type="datetime" 

require="true"/>
  9:  </Entity>
 10:  <Entity title="日志分类" name="BlogClass" module="Blogs">
 11:   <Item title="名称" name="Name" type="text" require="true"/>
 12:   <Item title="描述" name="Description" type="text" require="false"/>
 13:  </Entity>
 14: </Entities>

修改上用于生成数据库脚本的那个单元测试,加入以下代码:

  1: /// <summary>
  2: /// 构造实体代码
  3: /// </summary>
  4: [TestMethod, Description("构造实体代码")]
  5: public void Util_CreateEntityCodes()
  6: {
  7:   var entities = getEntities();
  8:   var baseSpace = "DongBlog.Business";
  9:   var usingNameSpace = new string[] { "DongBlog.Common" };
 10:   var path = Gobal.SolutionPath + @"/DongBlog.Business";
 11: 
 12:   new LinqEntityCodeGenerater().Generate(path, baseSpace, entities, usingNameSpace, 

false);
 13: }

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

时间: 2024-08-07 15:26:27

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

微型项目实践-目录

微型项目实践(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)在保存数据时对其自身数据 进行验证,以保证绝不让非法数据保存到数据库中,这四个类就是

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

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

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

上一篇中,我们分析了实体类的基类Entity,这一篇中,我们就分析一下基于该类的实体类. 每一个实体类都会有两个文件组成,我们以BlogClass为例,该类包含两个文件:BlogClass.cs和 BlogClass.designer.cs,这非常类似VS自己生成的代码,更方便的是,VS还会自动把这两个文件折叠起 来,如图. 这两个文件中,BlogClass.designer.cs包含所有的生成代码:成员.属性等,而BlogClass.cs则只包 含一个类的定义,供我们填写代码使用. BlogC

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

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

微型项目实践(1):用XML描述实体

系统设计的第一步当然是分析需求,目前能够想到的就是对日志的管理,恩--再加上一个分类好了 ,大体就是这样子: 我们使用一个XML来描述这两个实体: 1: <?xml version="1.0" encoding="utf-8" ?> 2: <Entities xmlns="http://it.ouc.edu.cn/EntityDescription/V2"> 3: <Entity title="日志&quo

微型项目实践(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="

微型项目实践(11):控件与格式化显示

上一篇文章中,我们简单的分析了页面的设计,今天我们来看页面中的动态部分.Master和Default页 面中的主要控件如下表: 控件ID 描述 Calendar Asp.Net自带的日历控件,使用自带的样式,以后我们会使用该控件实现根据日期的查询. ListView_BlogClass ListView,用于显示日志分类.该控件生成的Html全部是连接,不需要响应事件,故 EnableViewState设置为false. ListView_BlogList ListView,用于显示日志.该控件

微型项目实践(10):Master &amp;amp; Default

上一篇中,我们分析了UI层的结构和PageBase类,今天我们把注意力转移到页面中来.下面这个图是 我们系统的最终效果图: 这个当然不是我做的,我也做不出来:), 但是我想大体介绍一下页面的制作流程和一些经验技巧: 需求分析人员分析并确定需要哪些页面.有时候(大部分时候)只考虑首页,因为首页能确定系统的 风格.定下首页其他页面基本上就有着落了. 需求分析人员和客户讨论页面的风格.色调.系统的风格通常是一些形容词,比如简约.明快等.良 好的方式是准备很多图片(网页模板更好)给用户看,让他选,这样可