欢迎来到天天文库
浏览记录
ID:33679210
大小:89.59 KB
页数:8页
时间:2019-02-28
《codesmith模板生成三层架构的代码使用说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CodeSmith模板生成三层架构的代码使用说明一.模板使用方式打开CodeSmithStudio,按以下顺序设置。14.最后点击生成11.设置是否会将实体类序列化成XML,如果要序列化,在实体类上会添加[Serializable]特性。8.设置是否使用延迟加载模式,如果使用,开始子对象集合为空,在访问子对象集合时才去数据库中查询数据。13.设置生成三层架构使用的数据库12.配置文件中的数据库连接串6.设置生成代码的命名空间前缀9.在此设置数据库中的视图是否为临时视图,如果是临时视图,生成后可以删除7.设置生成代码的目标目录,一般直接设置为项
2、目所在的目录5.正则表达式过滤字符串,表名或视图名符合正则表达式才生成相应的三层架构代码,为空则不过滤,生成所有表和视图的三层架构3.双击打开三层架构模板2.加载后的模板目录4.如果打开了多个模板,点击切换到三层架构模板1.点击此处打开模板所在目录二.示例使用的数据库包含的表关系如下:三.生成的StuInfo表的实体类如下,其它实体结构相同:8/8页CodeSmith模板生成三层架构的代码使用说明数据表的名字中如果存在“_”或空格,会自动清除,每一字段生成一个对应的属性,同样会去除“_”和空格,表中的外键字段除生成一个对应属性外,还会生成一个
3、外键实体属性,如class_id,除生成ClassId属性外,还生成了一个类型为StudentClass的属性ClassRef,如果表的主键被其它表引用,如表Student_Score中的字段Student_id外键引用了Stu_Info表中的Student_ID主键,则StuInfo实体中包含一个集合StudentScoreList,如果一个表中有多个外键引用同一个表的主键,则该集合名会用数字进行编号。四.生成的数据访问类公共方法如下:1.连接串设置生成的代码中有一个Connection类,用来实现事务操作,该类中有一个Connection
4、String静态属性,该属性用于储存数据连接串,定义如下:get{if(connectionString==null){connectionString=System.Configuration.ConfigurationManager.ConnectionStrings["连接串名"].ConnectionString;}}其中"连接串名"由CodeSmith生成时设置,如果Config文件中已更改连接串名称,此处也要更改。2.新增数据//////不使用事务的插入方法//////5、stuInfo">实体类对象///标识列值或影响的记录行数publicstaticintInsert(StuInfostuInfo)插入一条记录,如果该表有标识列,返回标识列值,否则返回影响的记录条数(当然只会是8/8页CodeSmith模板生成三层架构的代码使用说明1)//////使用事务的插入方法//////实现事务Connection的对象///6、">实体类对象///标识列值或影响的记录行数publicstaticintInsert(Connectionconnection,StuInfostuInfo)如果一次要插入多条记录,使用该方法包含在一个事务内,示例如下:using(Connectionconnection=newConnection()){connection.Open();try{StudentClasscls=newStudentClass();cls.ClassName="T337";intclassID=DStu7、dentClass.Insert(connection,cls);StuInfostu=newStuInfo();stu.ClassId=classID;stu.StudentName="abc";stu.StudentAge=18;DStuInfo.Insert(connection,stu);connection.Commit();}catch(Exceptionerr){connection.Rollback();}}Connection对象位于数据访问层,用来进行事务操作。3.更新数据//////不使用事务的更新方法8、//////实体类对象///影响的记录行数pub
5、stuInfo">实体类对象///标识列值或影响的记录行数publicstaticintInsert(StuInfostuInfo)插入一条记录,如果该表有标识列,返回标识列值,否则返回影响的记录条数(当然只会是8/8页CodeSmith模板生成三层架构的代码使用说明1)//////使用事务的插入方法//////实现事务Connection的对象///6、">实体类对象///标识列值或影响的记录行数publicstaticintInsert(Connectionconnection,StuInfostuInfo)如果一次要插入多条记录,使用该方法包含在一个事务内,示例如下:using(Connectionconnection=newConnection()){connection.Open();try{StudentClasscls=newStudentClass();cls.ClassName="T337";intclassID=DStu7、dentClass.Insert(connection,cls);StuInfostu=newStuInfo();stu.ClassId=classID;stu.StudentName="abc";stu.StudentAge=18;DStuInfo.Insert(connection,stu);connection.Commit();}catch(Exceptionerr){connection.Rollback();}}Connection对象位于数据访问层,用来进行事务操作。3.更新数据//////不使用事务的更新方法8、//////实体类对象///影响的记录行数pub
6、">实体类对象///标识列值或影响的记录行数publicstaticintInsert(Connectionconnection,StuInfostuInfo)如果一次要插入多条记录,使用该方法包含在一个事务内,示例如下:using(Connectionconnection=newConnection()){connection.Open();try{StudentClasscls=newStudentClass();cls.ClassName="T337";intclassID=DStu
7、dentClass.Insert(connection,cls);StuInfostu=newStuInfo();stu.ClassId=classID;stu.StudentName="abc";stu.StudentAge=18;DStuInfo.Insert(connection,stu);connection.Commit();}catch(Exceptionerr){connection.Rollback();}}Connection对象位于数据访问层,用来进行事务操作。3.更新数据//////不使用事务的更新方法
8、//////实体类对象///影响的记录行数pub
此文档下载收益归作者所有