1) (1)Orm初始化
在ORM之前一定要先初始化,初始化后如果xml配置文件没变就不用再初始化了。
代码:DBFactory.InitORM();
2) (2)数据库连接创建与关闭
在操作ORM操作之前要打开数据库连接,在使用完后要关闭数据库连接;
打开或初始化连接:DBFactory.Init(DataProvider.Access, @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Environment.CurrentDirectory + @"/db.mdb;Jet OLEDB:Database Password=");
关闭连接:DBFactory.Close(true, true);//关闭所有连接
DBFactory.Close(true, false);//关闭当前所在线程的连接
DBFactory.Close(false, false);//将当前置为空闲状态,以便后面继续使用。
3) (3)数据库字段与实体属性映射配置
<Map ID="1" ParentID="" OneToOne="1" EntityName="User" ReaderName="" TableName="Sys_User" FullName="WinRight.User" Assembly="WinRight">
每个表用一个MAP元素来表示;
ID表示表的编号(该编号是随机的,但一个配置文件里不重复);
ParentID表示父表的编号(只在子表里才有该编号);
OneToOne表示是一对一还是一对多(只在字表里中使用,主表无意义);
EntityName表示实体的类名称;
ReaderName表示子表在主表中的使用名称(主表中无意义);
TableName表示该实体对应的数据库表的表名称;
FullName 表示实体类的全称;
Assembly 表示该实体类所在程序集的名称;
<Field Name="SysID" DBName="SysID" Mainkey="1" IndexNO="0" FieldType="String" DbType="Varchar" OwnerDBName="" PropertyName="" ></Field>
Field为数据库字段与实体属性映射关系配置;
Name表示实体属性名称;
DBName表示数据库表字段的名称;
MainKey表示该字段是否为主键(在子表中无所谓主键,在子表中关心的是外键);
IndexNO暂时不使用;
FieldType表示实体属性的类型(包括:String,Int32, Bool,DateTime,Int16, Float,Double);
DbType表示数据库字段的类型(包括:Varchar,Int16,Int32,Tinyint,DateTime,Char);
OwnerDBName表示在子表中外键关联主表中的数据库字段的名称;
PropertyName表示在子表中外键关联实体属性的名称;(只在字表有一对多情况下使用)
<Sql ID="up" ParaClass="" Select="0">
update ar_article set content1=#content# where sysid=#SysID#
</Sql>
<Sql ID="DFD4" ParaClass="string" Select="0">
delete from ar_article where sysid=#value#
</Sql>
<Sql ID="select1" ParaClass="string" Select="1">
select sysid,title1,Content1,style1,rectime1 from ar_article where #value#
</Sql>
<Sql ID="select2" ParaClass="string" Select="1">
select sysid,title1,Content1,style1,rectime1 from ar_article
</Sql>
类似IBATISNET中SQL映射使用,ID为MAPSQL的编号(该编号同一配置文件中唯一,外部使用该sql时需要使用该编号);
ParaClass表示参数类型,目前支持3中类型:string、int和本身类型(为空字符时表示本身类型);
Select表示是否为查询语句。
4) (4)ORM使用操作
ORM操作:
插入数据:User user = new User();
User.ID = “1000”;
User.Age = 24;
User.Name = “Jack”;
EasyOrm.ObjectManager.Insert(user);
更新数据:user.Age = 28;
EasyOrm.ObjectManager.Update(user);
删除数据:EasyOrm.objectmanager.Delete(user);
获取数据:List<User> users = EasyOrm.ObjectManager.Select<User>(“[ID]=’1000’”);
SqlMap操作(类似Ibatisnet使用方式):
在配置文件写(增删改语句),前台调用:
EasyOrm.ObjectManager.MapSql <User>(“sqlID”,参数);
在配置文件写(查询语句),前台调用:
EasyOrm.ObjectManager.MapList<User>(“sqlID”,参数);