498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' border="0" alt="" width="637" height="547" src="http://images.myeducs.cn/files/uploadimg/20120227/1016223.png" />
第二部分 高效便捷的ORM架构Moon.net
1、背景
针对Qin.Data的架构设计反应出的一些问题进行了全新的架构设计,弥补了多数据源使用不便、同道反应不过ORM、自身架构的瑕疵等问题。
2、介绍
Moon .ORM是一个通用数据库处理框架(可以包含MSSQL POSTGRESQL,SQLITE EXCEL MYSQL DB2 ORACLE...只要你愿意实现接口就可以)。很便捷地进行常用数据库操作(增删改查)。其性能是几近纯ADO.NET。对于实体的查询采用emit实现,如果您还不满意可用此框架的代码生成器直接生成纯ADO.NET SQL形式。其主要特色就是性能和便捷的操作。
3、特色
4、配置简单
- <appSettings>
- <add key="dbType" value="MSSQL" />
- <!--数据库的类型 还可以写MYSQL,SQLITE,ACCESS等....—>
- <add key="linkString" value="Server=mainserver;database=HD01SystemDB;Uid=sa;Pwd=123" />
- </appSettings>
代码功能演示
- using System;
- using System.Collections.Generic;
- using Moon.Orm;
- using MoonDB;
- namespace r
- {
- class Program
- {
- public static void Main(string[] args)
- {
- //数据添加
- PersonSet person=new PersonSet();
- person.Age=133;
- person.AgePeriod=1;
- person.IsBeiJing=true;
- person.Sex=true;
- person.UserName="秦仕川";
- DBFactory.Add(person);
- Console.WriteLine("新的数据唯一识别标志:"+person.GetOnlyMark());
- //另类数据添加
- person.Set(PersonSetTable.UserName,"另类");
- person.Set(PersonSetTable.Age,12);
- person.Set(PersonSetTable.AgePeriod,11);
- person.Set(PersonSetTable.IsBeiJing,false);
- person.Set(PersonSetTable.Sex,true);
- DBFactory.Add(person);
- Console.WriteLine("新的数据11唯一识别标志:"+person.GetOnlyMark());
- //数据删除
- long ret= DBFactory.DeleteWhen(PersonSetTable.IsBeiJing.Equal(1).And(PersonSetTable.Age.BiggerThan(12)));
- Console.WriteLine("被删除的条数:"+ret);
- //改数据
- person.UserName="另类修改后";
- person.SetOnlyMark(PersonSetTable.UserName.Equal("另类"));
- DBFactory.Update(person);
- //查询
- PersonSet p=DBFactory.GetEntity<PersonSet>(
- PersonSetTable.UserName.Equal("另类修改后"));
- Console.WriteLine(p.Age);
- //查询一个字段
- int age=DBFactory.GetOneField<int>(PersonSetTable.Age, PersonSetTable.ID.Equal(5));
- Console.WriteLine(age);
- Console.Write("Press any key to continue . . . ");
- Console.ReadKey(true);
- }
- }
- }
4