摘要:在项目中经常要手动创建和数据库对应的实体类,如果数据库表比较多或者表字段比较多,那会是一个工作量非常大的事情,所以我根据自己的需求写了一个简单的代码生成工具,工具使用Easy4net框架开发。下面是代码目录结构:项目开始预备步骤:1. 创建项目EntityCodeBuilder2. 引入Easy...
阅读全文
随笔分类 - ASP.NET
摘要:之前写过一个系列文章自己动手写ORM框架,经过在多个项目的中的使用,对这套代码进行了许多改进,下面是使用方法: 新增学员信息代码预览: DBHelper db = DBHelper.getInstance(); Student stu = new Student(); stu.Name = "张三"; stu.Gender = "男"; stu.Age = 28; stu.Address = "上海市徐汇区"; int count = db.Save(stu); if (count > 0) { MessageBox.Show(
阅读全文
摘要:内容简介:在项目中几个人同时开发一个项目,我们就需要一个源码版本管理工具来管理我们的源码,所以我们有必要知道如何搭建源码管理工具服务器,下面我来分四个步骤完成所需工作。 通过下面四个步骤来完成: Step 1:下载SVN服务端工具 Step 2:下载SVN客户端工具 Step 3:搭建SVN服务器 Step 4:使用客户端工具进行获取、提交、修改、删除文件Step 1:首先需要...
阅读全文
摘要:前面简单的修改功能已经实现了,下面是实现删除功能,代码1-1如下: DbEntityUtils.GetDeleteByIdSql方法代码如下1-2: 到这里为止简单的增、删、改、查功能都已完成,还有许多复杂的操作需要完成,但需要大量的时间和精力,这里只是分享一种思路或是作技术交流,所以不再继续深入的研究下去了,如有兴趣的也可以继续研究和分享经验。 下面是几个类的代码,EntityManagerI...
阅读全文
摘要:前面一节中已经实现了简单的新增功能,下面来实现修改功能,代码如下1-1: 在1-1代码中,绝大多数代码都和前面一节中的Save方法相同,这里主要看一下string strSql = DbEntityUtils.GetUpdateSql(tableInfo); 这段代码1-2: 上面代码就是通过tableInfo.Columns集合中的列名,组合成字符串,如strSql = “update stu...
阅读全文
摘要:在上一篇中讲了根据ID查询的功能FindById方法,接下来将实现Save方法的功能,代码如下1-1: 代码1-1中DbEntityUtils.GetTableInfo方法在实现查询功能FindById方法中已经有分析了。 代码string strSql = DbEntityUtils.GetInsertSql(tableInfo); 中DbEntityUtils.GetInsertSql代码如...
阅读全文
摘要:通过配置实体与表的关系映射后,就可以实现对表的操作了,接下来实现简单对象的新增功能。下面代码1-1是定义的操作数据对象方法的接口: 下面先实现比较简单的查询方法,代码1-2: 下面是PropertyImpl 类中FindById方法的代码1-3: 1-3中第一行代码:TableInfo tableInfo = DbEntityUtils.GetTableInfo(entity,DbOperate...
阅读全文
摘要:这次将完成最后一个自定义属性功能Column,在讲Column实现之前先看看Student表的结构如下: 然后来看看Column自定义属性的具体用法代码1-1: 在上面StudentEntity实体类的属性上配置了映射关系,对于Table、Id自定义属性的配置前面已经讲述过了,这里不再罗嗦,主要讲Column如何配置。 [Column(Name="studentid")] 这个配置加在属性publ...
阅读全文
摘要:在上一篇文章中已经分析了AdoHelper的部分代码,接下来将继续分析剩余的部分代码,这里分析ExecuteNonQuery方法的实现,代码块1-1: 上面都是对ExecuteNonQuery方法的重载,仅仅是参数有所变化,下面将第一个方法进行逐行的分析。line 1:public static int ExecuteNonQuery(string connectionString, Comman...
阅读全文
摘要:上一篇中完成了Table自定义属性的功能,现在来完成Id,因为一张表最主要的是结构就是表名(Table name)、主键(Id)、列(Column)、主键生成策略。 Id自定义属性的用法代码块1-1: 在Stuid属性上[Id]就表示在StudentEntity实体类中,Stuid属性字段对应Student表中主键ID,Name = "studentid"表示该属性对应Student表中的st...
阅读全文
摘要:在上一篇随笔中已经完成了ADO.NET操作数据库的封装,并已经支持多数据库,只需要在配置文件中指定数据库类型即可,本节主要完成对象与数据库表的关系映射配置。 下面看表名的映射配置代码块1-1: 在类上面用[Table(name = ”Student")]属性来配置,表示该实体类StudentEntity与数据库中的Student表进行关系映射。Table属性需要自己编写,代码块1-2: 上面代码中...
阅读全文
摘要:第一步:编写AdoHelper类,用于封装对数据库的操作,能同时支持多个数据库(目前支持SqlServer、Oracle、Access),可扩展支持任何类型的数据库。 下面先进行代码片段分析,分析完毕后将贴出完整代码,代码块1-1: (剖析Step1 Begin)================================================== 代码块1-1中private st...
阅读全文
摘要:在上一篇随笔.NET3.5中JSON用法以及封装JsonUtils工具类(一)中我们讲到JSON的简单使用,现在我们来研究如何进行封装微软提供的JSON基类,达到更加方便、简单、强大且重用性高的效果。 首先创建一个类JsonUtils.cs,代码如下:JsonUtils代码,点击展开 Code highlighting produced by Actipro CodeHighlighter (fr...
阅读全文
摘要:在.NET3.5中的Silverlight类库中,微软提供了System.Json.dll程序集,在做Silverlight开发的时候,在Silverlight项目上或者新建一个Silverlight类库,然后右键添加引用System.Json后就可以使用JsonArray 和 JsonObject来对json格式数据序列化或反序列化。具体用法如下:[代码]StringjsonString="{\...
阅读全文
摘要:最终实现后达到的效果,只需写少量代码就可实现CURD操作。 DAL层代码: StudentDAL代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--publicclass StudentDAL { EntityManager entityManage...
阅读全文