没有合适的资源?快使用搜索试试~ 我知道了~
MyGeneration学习笔记.doc
需积分: 0 1 下载量 148 浏览量
2011-01-07
12:46:33
上传
评论
收藏 126KB DOC 举报
温馨提示
试读
21页
MyGeneration学习笔记.doc
资源详情
资源评论
资源推荐
MyGeneration 学习笔记.doc(转载)
一 使用
生成存储过程和数据访问层代码
二 使用
提供的通用操作
三
及生成代码的一些
四 在
中使用
上
五 在
中使用
中
六 在
中使用
下
七
的
和动态查询
八
提供的数据绑定、特殊函数和事务处理
九 在
使用
时 对
的一点改进
!!
一 使用
MyGeneration
生成存储过
程和数据访问层代码
是一款不错的代码生成 " 代码生成工具,下面是我学习过程中的一些笔记
总结了一下 #$%&"' 文档,还有自己在使用和调试过程中遇到的问
题及自己的解决方法,贴出来与大家共享 。
!
!!!!这篇文章主要讲解怎样用 我用的 的版本号是 ()*)(的
模板使用其自带的模版来生成代码,及将这些代码加入到项目中。
!!
1.!!!准备工作: 数据库设计(+),
!!1).为每张表设置一个 列作为主键。也可以用 -./ 或多列作为主键。
!!2).为每张表增加列名为“"012的列,数据类型设为时间戳
。 将用这列处理并发。
!!3). 只能处理单张表,不能处理多表联合查询。要处理多张表,可以创建视图,用
操作试图替换多表问题。
!!4).在设计数据库和应用程序时,尽可能少地使用 。
!!
2.!安装 ,添加 项目到解决方案,
!!1).从 3,000)'0)
下载并安装。
!!2).安装完成后, 项目位于))445344#34
)4目录下,有两个版本,6778 和 677*,根据你的需求,选择一个添
加到解决方案中。另外,目录下有个 )9 文件,也将了一些 的使用步骤和说
明。
!!!!!!当然,我们也可以直接打开该项目,编译生成 文件,然后在应用程序中添加该程序集
引用;但该项目的代码还存在一些问题,可能要在调试的时候才能发现,这时再修改代码添加
引用就很不方便,所以个人不推荐这样做。
在 /5 文件夹下,默认所有的文件的生成操作属性都是:无:,即不编译进项目。分别
选择应用程序的数据库所对应的两个;<) 和;/%) 两个文件,将他们的
属性==生成操作改为:编译:,这样就可以编译进生成的 5 中。
支持的数据库对应的文件:
!!%>+#/%)+#<)!!!!!!!!!!!!!!!
)/)+#
!!5!!!!!!!//%)/<)!!!!!!!!!!!!!!!!!!!!!!!!!
)/)/
!!!!!!!!!!!#/%)#<)!!
)/)#
!!+!+/%)+<)!!!!!!?+!!
!! !!!!!!!! +/%) +<)!!!!!!!
+)/)
!!1/@!!!!!1/@/%)1/@<)!!!!!!!!!!!!!!!!!1/@
!!%>!!!!!!!!%>/%)%><)!!!!!!!!!!!!!!!!!!!!!!!
)%>
!!%>!!!!!!!!%>A/%)
%>A<)!!!!!!!!!!!!!!!!!!+)/)+#
!3).现在就可以编译了。
!
!
3.!其他需要访问该 5 的项目:
!!1).为项目添加引用==项目==)
!!2).为项目添加两个文件夹:
!!!!!!/5>数据访问层:用于存放 创建的 5 类下面会讲如何使用
来生成这些类。
!!!!!!@>>业务逻辑层,用于存继承上面的 5 类的具体类,可由 自动生
成。
!
!
4.!使用 ,
!4.1生成 #"-/ 存储过程,
!!!!!1)运行 ,<==/',设置数据库、编程语言等。
!!!!!2)点击工具栏=@0,选择要创建的存储过程的模板
!!!!!!!!!可用的模版有:
!!!!!!!!!!'%>!!!!!='%>)
!!!!!!!!!!'5!!='5)5
!!!!!!!!!!!!!!!!!!!!!!=)
!!!!!!!!!!%>!!!!!!!!=%>)%>
!!!!!!!!!! !!!!!!!!!!= ))
!!!!!3)运行模版,选择数据库和表一般选则所有表,单击确定后,会在 中输出存储
过程
!!!!!4)将生成的存储过程拷贝到查询分析器中,然后执行向数据库中写入存储过程。
!4.2为数据库中的表生成 /5>5 类,
!!!!!同上,选择 @0====#$其他的与此类似==@
<==执行模版==选择上面创建的 /5> 文件夹,设置要生成的类的命名空间和数据库,选择
所有表,然后生成 5 类。
!4.3为数据库中的视图生成具体类:
!!!!!选择 @10 模版并将生成的类保存在 @>> 文件夹,其他同上。
!4.4生成具体类也可以自己写:
!!!!!选择 ## 模版,其他同上。
!!
5.!!1 中使用上面生成的资源:
!!!1)在配置文件 0)B 或 )B 配置连接字符串。 项目中默认的 &
是:#:也可以修改 @< 类中的C'#B 字段的值来修改 &
的默认值。
!!!!!另外, 项目有个问题就是连接字符串并没有初始化可能是模版的 代码如下:
!!C0!D!::E
!!!#
F
!!!!
!!!!F
!!!!!!C0E
!!!!G
!!!
!!!F
!!!!C0!D!E
!!!G
G
!!!!!!虽然可以在应用程序中手动给属性 # 赋值,但这样的话,每个业务实体
在 0 完之后,都要给 # 赋值,比较繁琐不好维护;一个比较好的办法就是
在 @< 的构造函数中对C0 进行初始化自己写代码。我用的是 1677*,可以
用 1677* 自动生成配置文件和配置文件的读取类 ,然后初始化连接字符串,例如:
C0DH?)))/')#E
!!2) !可以在上面生成的具体类##中添加应用程序自己的业务逻辑,可处理自
定义存储过程和 %> 语句等。
二 使用
dOOdad
提供的通用操作
初始化准备,
!<D0<E
!./E
1.!获取表中的所有数据行:
!!!!!)>5E
!
!2.!根据主键获取一行数据:
!!!!!)>@I./E
!
3. 插入一行,
)5?0E
)>?!D!:3:E
)J/!D!/)?0E
)E
./!D!)<./E插入后返回主键值。
!!!!!!上面是 文档给出的例子,但是我调用 方法插入数据库没有问题,但是获
取主键值会抛出异常。默认生成的代码没有将 ./ 作为输出参数,所以 )<./ 仍然
为空,不能转换成 。更正如下:
在 生成业务实体抽象类 < 的 .#方法中加一条语句,
#E
)K:L./:M)/!D!/)E要加入的语句
!E
!
4. !删除一行:
!!!!!先定位到要删除的行参考 N)(6设置当前行
!!!!!)&5/E
!!!!!)E
!!!!!!
5. !更新一行,
!!!!!先定位到要更新的行
!!!!!)>?D:O:E
!!!!!)E
6. !获取表中的行数:
!!!!!)"0#E
!!
7. !遍历表中所有的数据行,!!!!!!
')"0#P7
F
!!!!!!!!!!)"0E使当前行指向第一行
!!!!!!!!!!
!!!!!!!!!!F
!!!!!!!!!!!!!!!!自定义操作
!!!!!!!!!!!G03)?9E
G
!
8. !设置排序表达式,
!!!!!)D<)#?)>?Q:/<#:E
!
9. !设置过滤选择表达式:
!!!!!) D<)#?)>?Q:>.I<5R:E
!!
10. !对列进行操作只是在应用程序的 / 中进行,修改不会被保存进数据库:
!!!!!!!!!!(!!5#
!!!!!!!!!!6!!#
!!!!!!!!!!8!!!#
!!!!!!!!!!A!!!.#?
!!!!!!!!!!*!!!#?
!!!!!!!!!!N!!!<9,
')>5
F
!!!!!/#!!D!)5#: ?:!):)
:E
!!!!!)<9!D!<)#?)>?!Q!:Q!S!S!Q!:!Q!<
)#?) ?E
!!!!!!'?!D!)#: ?:!!E
G
!
剩余20页未读,继续阅读
lysfs00
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0