- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CodeSmith模板生成三层架构的代码使用说明
CodeSmith模板生成三层架构的代码使用说明
PAGE 8/ NUMPAGES 8页
模板使用方式
打开CodeSmith Studio,按以下顺序设置。
14.最后点击生成
11.设置是否会将实体类序列化成XML,如果要序列化,在实体类上会添加[Serializable]特性。
8.设置是否使用延迟加载模式,如果使用,开始子对象集合为空,在访问子对象集合时才去数据库中查询数据。
13.设置生成三层架构使用的数据库
12.配置文件中的数据库连接串
6.设置生成代码的命名空间前缀
9.在此设置数据库中的视图是否为临时视图,如果是临时视图,生成后可以删除
7.设置生成代码的目标目录,一般直接设置为项目所在的目录
5.正则表达式过滤字符串,表名或视图名符合正则表达式才生成相应的三层架构代码,为空则不过滤,生成所有表和视图的三层架构
3.双击打开三层架构模板
2.加载后的模板目录
4.如果打开了多个模板,点击切换到三层架构模板
1.点击此处打开模板所在目录
二.示例使用的数据库包含的表关系如下:
三.生成的StuInfo表的实体类如下,其它实体结构相同:
数据表的名字中如果存在“_”或空格,会自动清除,每一字段生成一个对应的属性,同样会去除“_”和空格,表中的外键字段除生成一个对应属性外,还会生成一个外键实体属性,如class_id,除生成ClassId属性外,还生成了一个类型为StudentClass的属性ClassRef,如果表的主键被其它表引用,如表Student_Score中的字段Student_id外键引用了Stu_Info表中的Student_ID主键,则StuInfo实体中包含一个集合StudentScoreList,如果一个表中有多个外键引用同一个表的主键,则该集合名会用数字进行编号。
四.生成的数据访问类公共方法如下:
1.连接串设置
生成的代码中有一个Connection类,用来实现事务操作,该类中有一个ConnectionString静态属性,该属性用于储存数据连接串,定义如下:
get
{
if (connectionString == null)
{
connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[连接串名].ConnectionString;
}
}
其中连接串名由CodeSmith生成时设置,如果Config文件中已更改连接串名称,此处也要更改。
2.新增数据
/// summary
/// 不使用事务的插入方法
/// /summary
/// param name=stuInfo实体类对象/param
/// returns标识列值或影响的记录行数/returns
public static int Insert(StuInfo stuInfo)
插入一条记录,如果该表有标识列,返回标识列值,否则返回影响的记录条数(当然只会是1)
/// summary
/// 使用事务的插入方法
/// /summary
/// param name=connection实现事务Connection的对象/param
/// param name=stuInfo实体类对象/param
/// returns标识列值或影响的记录行数/returns
public static int Insert(Connection connection,StuInfo stuInfo)
如果一次要插入多条记录,使用该方法包含在一个事务内,示例如下:
using (Connection connection = new Connection())
{
connection.Open();
try
{
StudentClass cls = new StudentClass();
cls.ClassName = T337;
int classID = DStudentClass.Insert(connection, cls);
StuInfo stu = new StuInfo();
stu.ClassId = classID;
stu.StudentName = abc;
stu.StudentAge = 18;
DStuInfo.Insert(connection, stu);
connection.Commit();
}
catch (Exception err)
{
connection.Rollback
您可能关注的文档
- BNP在非CHF中的意义.pdf
- BOFLFRHCC流程钢液增氮控制研究.pdf
- BIOEXPERT污水处理工艺故障诊断的专家系统.pdf
- Boltzmann方程的分布解与能量守恒.pdf
- BOOL和bool的区别.doc
- Booming Noise Analysis of Passenger Car using Integrated Approach of CAT CAE.pdf
- Boostthread库的使用.doc
- BOSWebService开发指南.doc
- BOSELINK的使用及配件方式.ppt
- Bounded Dynamic Data Allocation in Distributed Systems.pdf
- 专题13 风云变幻—近代以来的国际关系与国际格局的演变(课件)-2025年高考历史二轮复习讲练测(新高考通用).pptx
- 3.2.3 呼吸作用-2024-2025学年七年级生物下册同步教学课件(人教版2024).pptx
- 2025春沪科版初中物理八年级下册教学课件 第八章 第4节 流体压强与流速的关系.pptx
- 2024-2025学年七年级数学下册举一反三系列(沪科版2024)专题8.9 整式乘法与因式分解全章专项复习【3大考点10种题型】(举一反三)(沪科版2024)(解析版).docx
- Unit 1(复习课件) -2024-2025学年英语五年级下册单元速记巧练系列(人教PEP版).pptx
- 3.1.1 种子的萌发(第二课时)-2024-2025学年七年级生物下册同步教学课件(人教版2024).pptx
- 3.2.1 水的利用与散失-2024-2025学年七年级生物下册同步教学课件(人教版2024).pptx
- 6.5 国家司法机关(教学课件)-2024-2025学年八年级道德与法治下册高效课堂同步教学课件(统编版).pptx
- 2025春沪科版初中物理八年级下册教学课件 第九章 第4节 物体的浮与沉 第1课时.pptx
- 专题09 多元共生—古代世界文明的多样性与区域扩展(课件)-2025年高考历史二轮复习讲练测(新高考通用).pptx
文档评论(0)