Subsonic设置--新手上路

本文介绍了两种配置SubSonic的方法:一种是在编译时自动生成数据访问层代码,适用于VS2005下的website项目;另一种是通过IDE的外部工具生成代码。同时还提供了SubSonic的基本使用示例。

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

前言

在刚开始使用中就碰到问题:按照官方的方法配置,总是不能编译时自动生成数据访问层代码(其中一种,也可使用命令行自己生成,下面介绍)。本文只要介绍了这两种配置subsonic的方法。

1.配置方法

自动在临时文件夹生成的官方方法如下:
(1)修改web.config
    在web.config里configuration节下面加入一下内容:

 1 < configSections >
 2          < section  name ="SubSonicService"  type ="SubSonic.SubSonicSection, SubSonic"  requirePermission ="false" />
 3      </ configSections >
 4      < appSettings />
 5      < connectionStrings >
 6          < add  name ="football"  connectionString ="Data Source=ERICK;Initial Catalog=polan2;Persist Security Info=True;User ID=sa;Password=sa"  providerName ="System.Data.SqlClient" />
 7      </ connectionStrings >
 8      < SubSonicService  defaultProvider ="football" >
 9          < providers >
10              < clear />
11              < add  name ="football"  type ="SubSonic.SqlDataProvider, SubSonic"  connectionStringName ="football"  generatedNamespace ="football" />
12          </ providers >
13      </ SubSonicService >

    然后在system.web节内加入buildProviders配置节:
1 < compilation  debug ="true"  defaultLanguage ="C#" >
2              <!-- ########################## SubSonic Build Provider ############################### -->
3              <!-- This will NOT WORK in Medium Trust -->
4              <buildProviders>
5                 <add extension=".abp" type="SubSonic.BuildProvider, SubSonic"/>
6             </buildProviders>
7              < assemblies >
8                  < add  assembly ="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
9        </ assemblies >

    web.config的设置结束。

(2)添加对subsonic.dll文件的引用
        右键项目--添加引用--浏览
(3)在app_code文件下加入subsonic.abp文件
        这里subsonic.abp是根据buildProviders配置节里面的extension=".abp"而来, .abp代表application build provider,目的是为了在编译时自动生成数据访问层,这些代码放在了框架的临时文件夹里面。
(4)编译之

        我用的vs2008的webapplication,在上述三步后,发现vs2008依然不能找到我自己创建的命名空间以及相应的类,而且从编译时间上也能断定项目并没有按正常情况自动创建数据访问层的类代码。非常费解,今天又用vs2005 和2008分别对subsonic在website和webapplication下的配置进行了测试,发现上述方法只能在vs2005下的website中正常使用,对于其他三个项目,则只能使用另一种方法,IDE的外部工具:
(1)添加visual studio外部工具
        打开vs2005或者2008,菜单-工具-外部工具,添加外部工具对话框如下:

命令行处找到subsonic的命令行工具(位于安装文件下);参数的最后一个空格后面的是要输出的目录(自己选择);

(2)运行SubsonicTool外部工具
然后菜单-工具下就有一个subsonictool的工具按钮,直接点击,就会弹出:

输入相应的目录,ok就能在generated文件夹下生成一系列数据访问层的类代码。结构如下:

注意:在webapplication项目中,不要将这些代码直接生成在自己创建的app_code中(默认下没有这个文件夹),会出现依然找不到命名空间和相应类的问题,最好自己在项目下直接建一个Generated文件夹作为放置数据访问层类代码的目录。

2.subsonic使用
        这里对它的使用就不做太多介绍,如果以后遇到一些问题,也会记下来分享。只举个简单的例子:
在一个页面中放置一个gridview,id为productGrid,在后置代码pageload里面写入:
1 productGrid.DataSource  =  football.Product.FetchAll();
2         productGrid.DataBind();
两行代码即可完成。Product是根据数据库自动生成的代码,真正项目中要想使用,必须要通过partial class的方法把这些类进行相应的扩展,留在以后再说。

3.结束语
        本仅仅将我平时遇到的问题总结出来,主要是两种配置方法,希望对你们有帮助。关于subsonic详细信息请到官方网站。 http://subsonicproject.com/
也欢迎给我留言或者发邮件讨论。

转载于:https://www.cnblogs.com/ddr888/archive/2008/04/25/1170972.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值