- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
subsonic配置与使用
ExtAspNet应用技巧(十一) - Subsonic配置与使用
前言 曾经尝试过很多DotNet下的ORM工具(只是DotNet2.0下的),有IBatis.Net, NHibernate, MyGeneration doodads, Microsoft EntLib, SubSonic等,觉得最简单的要数doodads,最好用的当属SubSonic。 因此在AppBox项目中,我毫不犹疑的选择SubSonic作为ORM工具。为了兼容dotnet2.0的程序,我们不会使用最新的SubSonic3.0版本,而是使用SubSonic2.2版本。 因为2.2版本已经有两年左右的稳定时间,所以应该不会出现大的BUG并且很容易在网上找到问题的解决办法。 约定优先于配置 这是一条由 Ruby On Rails 发扬广大的编程规则,SubSonic也非常重视这条规则,并在创建数据库表时有一些有用的约定: 1. 每个表都应该包含如下四个列(不是必需的),这样在使用SubSonic的创建和更新函数时可以方便的修改这些字段:
CreatedOn (datetime)
CreatedBy (nvarchar(50))
ModifiedOn (datetime)
ModifiedBy (nvarchar(50))
2. 如果你想使用逻辑删除,可以增加列:Deleted (bit) 这样当你调用数据库表映射类的静态方法 Delete 时,SubSonic会首先判断此表是否存在Deleted字段,如果存在则设为true。否则,则调用 Destory 函数,即是永久删除。 3. 对表名和列名的约定。
表名为单数形式
列名不要包含保留字(比如system,string等)
列名不要和表名相同
那么如何在A2.0 WebApplication项目中使用SubSonic,我想大概有如下几个步骤:
创建数据库和表
配置Web.config
通过sonic.exe连接数据库,生成所有的映射类
使用映射类对数据库进行CRUD
创建数据库和表 首先我们再SqlServer2005中新建一个数据库AppBox,然后创建用户表:?可以看到,我们遵守了SubSonic的约定增加了CreatedOn,CreatedBy,ModifiedOn,ModifiedBy。不过没有使用逻辑删除。 配置Web.config
view source
print?
01 configSections 02 ??section name=SubSonicService type=SubSonic.SubSonicSection, SubSonic/
03 /configSections 04 connectionStrings
05 ??clear/ 06 ??add name=Default connectionString=Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=AppBox;Data Source=./
07 /connectionStrings 08 SubSonicService defaultProvider=Default
09 ??providers 10 ????clear/
11 ????add name=Default type=SubSonic.SqlDataProvider, SubSonic connectionStringName=Default generatedNamespace=AppBox/ 12 ??/providers
13 /SubSonicService 我们在connectionStrings 配置节中执行了数据库连接字符串(名称为Default),并在SubSonicService配置节中指定connectionStringName为Default,这就为SubSonic指定了数据库连接。 通过 generatedNamespace=AppBox 是为下一步做准备,让代码自动生成的映射类拥有 AppBox 的命名空间。 通过sonic.exe生成所有的映射类 把下面一行命令保存为批处理文件(比如generate.bat),双击运行即可生成所有的数据库映射类代码(以后表有改动,只需重新执行一次这个命令即可)。
.\library\subsonic\sonic\sonic.exe generate /config .\ /out .\Business\Subsonic
您可能关注的文档
- 第6章 JSP程序设计_1.ppt
- [JavaWeb_兄弟连_马剑威]_025_DAO设计模式.ppt
- 27-《运用MVC模式进行系统设计(一)》.ppt
- 第九章 基于Servlet的MVC模式.ppt
- web设计基础第9章 MVC模式.ppt
- 第1讲 从JSP+Servlet到Struts.ppt
- java Transparancy 14 JSP设计模式.ppt
- 海斌 jsp课程设计报告.doc
- 《软件架构与设计模式》复习 资料.doc
- 03基于Servlet的MVC设计模式.ppt
- 高中物理教学中实验设计能力的培养策略研究课题报告教学研究课题报告.docx
- 2023-2024学年上海建平中学高二(上)期中语文试题及答案.pdf
- 大货车雨季行车安全培训课件.pptx
- 生成式人工智能在探究式教学中的跨学科课程资源整合研究教学研究课题报告.docx
- 2023-2024学年上海回民中学高一(上)期中语文试题及答案.pdf
- 宋代纺织技术改进与汉字纺织工艺类词汇的丰富课题报告教学研究课题报告.docx
- 荣盛石化:2025年三季度报告.pdf
- 榕基软件:2025年三季度报告.pdf
- 2025《变压器设备的状态监测研究案例分析》5500字.doc
- 基于虚拟现实技术的AI教育平台用户沉浸式体验与粘性增强研究教学研究课题报告.docx
原创力文档


文档评论(0)