subsonic配置说明总结(连接SQL Server2008,亲身实验)

本文提供了一篇关于如何配置SubSonic以连接到SQL Server 2008的详细步骤,包括创建项目、添加引用、配置web.config文件、设置连接字符串以及利用Visual Studio的外部工具生成DAL代码。通过这些步骤,读者可以学习到如何在win XP + VS 2008环境下设置SubSonic连接数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上有很多关于subsonic的配置说明.可能是我愚钝,找个各位老大的说明,我是没弄出来...

不过各位老大的帖子,还是有很多地方值得学习的.

下面就把我自己实验的结果贴出来,让以后的学弟学妹们少费点事儿

系统环境:win XP + VS 2008 + SQL Server 2008

 

1、建立一个项目:类库/windows窗体应用程序
2、工具栏"项目"->"添加引用":SubSonic.dll(前提是已经安装了subsonic.在从官网下载解压缩之后,根目录下面)、  

System.Web和System.Configuration(这两个是.net自带的)

3、在工程下建立一个文件夹:DAL
4、在工程中添加一个新文本文件,命名为:web.config,内容如下:

<?xml version="1.0"?>
<configuration>

  <!-- 第一部分是照着写就可以了,没有什么好说的 -->
  <configSections>
    <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false"/>
  </configSections>

  <!-- 第二部分是定义一个或者多个连接数据库的字符串,其中要注意的是这部分的name的值是第三部分connectionStringName属性的值-->
  <connectionStrings>
    <!-- 连接数据库的字符串 其中Data Source是服务器名称或者IP,Initial Catalog是数据库名称,最重要的是providerName-->
    <add name="connection"
         connectionString="Data Source=CNBEI204;Initial Catalog=PharmaPRD;Persist Security Info=True;User ID=pa;Password=123"
         providerName="System.Data.SqlClient"/>
  </connectionStrings>

  <!-- 第三部分是将连接字符串和数据库驱动匹配起来成为一个连接。name是连接的名字,generatedNamespace的值是生成对象的命名空间.以下颜色相同地方,其内容必须相同-->
  <SubSonicService defaultProvider="SqlDataProvider">
    <providers>
      <clear/>
      <add name="SqlDataProvider"
           type="SubSonic.SqlDataProvider, SubSonic"
           connectionStringName="connection"
           generatedNamespace="PharmaPRD.DAL"/>
    </providers>
  </SubSonicService>

</configuration>


注:连接数据库的字符串(connectionString="Data Source=CNBEI204;Initial Catalog=PharmaPRD;Persist Security Info=True;User ID=pa;Password=123")这段如果不知道怎么写,可以利用Visual Studio 2008的菜单栏中的“数据”-“添加新数据源”,一步步的设定下来,

在其中的第二步“选择您的数据连接”中,窗口下部的“连接字符串”就是该内容。

而且可以利用“添加新数据源”的“测试连接”来验证数据源信息是否填写正确

 

5、菜单栏"工具"-"外部工具",添加外部工具对话框如下:


其中:

标题为可以自己命名,但最好为项目名+".DAL"

命令为SubSonic文件夹的中命令行工具sonic.exe的存放路径,

参数为:这个有固定的格式,其中:/out表示项目中DAL层所保存的目录,/config表示项目中的webconfig文件的位置,(注意:这里就是上面配置的配置webconfig文件)

如:generate  /out C:\xiao's work\20110215 【Hos】\src\HLT\HLT\DAL  /config "C:\xiao's work\20110215 【Hos】\src\HLT\HLT\web.config"

初始目录为:$(ProjectDir),

并勾选“使用命令窗口”选项,点确定。

6、

配置成功后,在Visual Studio 2008的菜单栏中的“工具”中的下拉列表中就出现了我们刚才配置的“PharmaPRD.DAL”如下图:


7、点击“PharmaPRD.DAL”就能自动生成DAL的代码了。从输出中判断配置是否成功:(从输出中看到Finished,说明成功了),如下图:

 


8、在你上面指定的参数/out C:\xiao's work\20110215 【Hos】\src\HLT\HLT\DAL  目录中,就可以看到生成的DAL文件了

(注:似乎该参数对空格不支持,所以我的文件都生成在C:\xiao's这个新建的目录中了...)

SubSonic3.0使用Demo1.0——应用了T4模版可减少开发过程中70%以上的代码量以及80%以上的出错率   应网友的要求,抽了点时间写了这个Demo,希望对2.2版想升级到3.0的朋友或正在使用3.0的朋友有所帮助。大家在使用Demo过程中如果发现什么问题或有什么建议,可以直接将Bug提交给我或告诉我,我会抽时间进行处理的,如果支持我写的文章,也请登陆我的博客推荐一下,有你的支持,我会更有动力。   本Demo使用了T4模版,可以通过模版的应用达到快速开发目的,在我实际的项目当中,可减少70%以上的代码量(计算方面的代码都放在了逻辑层,而逻辑层代码绝大部分都是直接生成)以及80%以上的出错率(程序员平常最多的出错是在机械式的复制与粘贴操作后产生的视觉疲劳,由于没有将复制后的所有相关名称进行修改引起的错误)   ================================================================   名 称:SubSonic3.0 使用Demo   版 本:1.0   最后更新:2013-9-13   作 者:Empty(AllEmpty)   Email: 1654937@qq.com   学习讨论:SubSonic3.0学习群(327360708)   相关博客:http://www.cnblogs.com/EmptyFS/   ================================================================   开发环境:   Vs2010 + SubSonic3.0.0.4.2 + ExtAspNet3.1.9.2 本Demo只是简单的实现了登陆、管理员表的查询以及管理员记录的添加、删除、修改、改变状态功能 底层使用SubSonic3.0.0.4.2插件 + T4模版生成 逻辑层使用T4模版生成将开发过程中所需要的各种调用函数,在实际项目中,使用本方式开发的框架,代码开发量减少了70%以上,出错率也将减到最低。程序员只需要简单的复制+粘贴,然后修改一些UI就可以完成网站后台管理系统或企业类管理软件的功能开发,只需要在小部分需要使用一些逻辑处理的页面中实现一些逻辑处理就可以了,大大减轻了项目开发的工作量,提高开发效率。 本Demo只是实现了简单的功能,并没有详细将管理系统的各种功能实现出来,只是通过本Demo提供了一种快速开发的思想,大家可以深入研究后自由发挥各自的想象与需要,去实现出来。 Demo中各级目录与文件的说明,请查看附件中的数据字典,里面有详细的说明。 项目中的Text.aspx.cs文件是SubSonic3.0的各种使用例子,如果大家对SubSonic3.0不熟悉的话,可以将它设为启动项,启动DeBug调试方法,逐行调试查看,就知道怎么使用了,里面包含了插件各种常用的调用方式。 另外还要重点说明一下的是DataAccess/SubSonic/EntityTable.tt生成的EntityTable.cs文件,这个文件直接生成数据表名与及相关字段名,可直接使用DataAccess.DataModel.T + Table(如ManagerTable.TableName可获取表名...)获取数据表名称与各个字段名称,使用这种方式可以减少代码中的硬编码,这样在修改数据库字段或内容时,VS就会直接报错,让我们可以马上知道要修改那几个地方,减少出错的可能。 Login项目中的SubSonic/CreateBll.tt模版主要用于生成各种逻辑类,在 和 #endregion 模版生成函数 之间放的是根据字段名标识不同,对应生成不同的方法。   大家在实现使用中,可以通过定义不同的字段名给程序甄别而生成你所需要的函数,这样就会大大减轻开发中的工作量,另外使用生成功能,可以避免开发过程中,由于机械式的复制与粘贴产生的视觉疲劳,没有修改相关名称引起的错误。由于生成的逻辑类使用了partial这个类修饰符,所以我们还可以定义同名的逻辑类,里面放那些不能用模版来生成的方法,这样生成与自定义的方法分开两个文件处理,就不用有修改后要花大量时间进行复制粘贴修改相关类了。   最后需要指出的是SubSonic3.0插件目前不支持括号嵌套功能,有双层括号时会给解释成多个单括号,甚至出错,所以大家添加查询条件时要注意这一点,等以后有时间再研究一下代码,看能否加上括号嵌套功能。还有使用In查询时,插件也不能很好的进行解释,所以我封装了ConditionHelper.cs条件类,将In查询转换为多个Or关系的等于查询语句,在使用时也有一些讲究的,具体请查看Test.aspx.cs中的例子。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值