在刚开始使用中就碰到问题:按照官方的方法配置,总是不能编译时自动生成数据访问层代码(其中一种,也可使用命令行自己生成,下面介绍)。本文只要介绍了这两种配置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的方法把这些类进行相应的扩展,留在以后再说。

Subsonic 的实践安装方法:

(1) 安装SubSonic2.03(在Vista系统中要使用Administrator帐户;

(2)逐个编译SubSonic tools ,使得VS 2005中安装了Add-in工具;

(3)新建一个visual studio 2005的工程,数据库用Sql Server2000(建议用2005版本),如果是Web应用程序按F5可以产生Web.config,如果是WindowsForm或者Dll应用程序,手动添加App.config(具体修改串解释,以下详细说明)

(4)添加引用,浏览添加SubSonic.dll(SubSonic安装目录下),添加System.configuration引用和System.Web(不晓得为什么添加这个?)

(5)新建一个DAL文件夹,在DAL上右击,进入SubSonic菜单,选择Generate Multiple Files

Web.config或App.config参数详解(红色字体标识):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
   <section name="SubSonicService"
      type="SubSonic.SubSonicSection, SubSonic"
      allowDefinition="MachineToApplication"
      restartOnExternalChanges="true"
      requirePermission="false"/>
   <section name="dataConfiguration"
type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,
Microsoft.Practices.EnterpriseLibrary.Data" />
</configSections>
<appSettings/>
<connectionStrings>
   <clear/>
   <add name="数据库联接名,示例:NorthwindConnection" connectionString="Data Source=.;Initial Catalog=想要生成实体类的数据库名,,示例:Northwind;Integrated Security=True"/>
     </connectionStrings>
<SubSonicService defaultProvider="提供程序名,会作为类的前缀,示例:Northwind">
   <providers>
    <clear/>
    <add name="提供程序名,会作为类的前缀,示例:Northwind" type="SubSonic.SqlDataProvider, SubSonic" connectionStringName="数据库联接名,示例:NorthwindConnection"
      generatedNamespace="类的命名空间,示例:Northwind"
            />
   </providers>
</SubSonicService>
</configuration>

特别: 解释说明相同的需保持相同名字

SubSonic的配置方法浅谈相关推荐

  1. SVN冲突出现原因及解决方法浅谈

    SVN冲突出现原因及解决方法浅谈 参考文章: (1)SVN冲突出现原因及解决方法浅谈 (2)https://www.cnblogs.com/andy1202go/p/8085062.html 备忘一下 ...

  2. mysql 提高电脑配置_Mysql配置优化浅谈

    Mysql配置优化浅谈安装MySQL后,配置文件my.cnf在MySQL 安装目录/share/mysql目录中,该目录中还包含多个配置文件可供参考,有my-large.cnf ,my-huge.cn ...

  3. 黑盒测试用例选取方法浅谈(一)

    最近学校刚开了软件构造,要求经营自己的博客.思来想去还是决定从课堂出发,简单介绍一下黑盒测试用例的选取方法,由于精力有限,分为上下两期,每周二晚十点更新. 黑盒测试简介 黑盒测试适用于检查代码的功能的 ...

  4. 计算机维护与维修方法,浅谈计算机维护与维修方法

    题目:浅谈计算机维护与维修方法 作者:周旺红手机:159******** 单位:江苏省徐州机电工程高等职业学校 地址:江苏省徐州市云龙区东店子徐州机电工程高等职业学校云龙校区 邮编:221000 [摘 ...

  5. SubSonic的配置方法

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

  6. 运用计算机优化教学的方法,浅谈计算机基础课程教学模式的优化对策论文

    计算机的应用在中国越来越普遍,改革开放以后,中国计算机用户的数量不断攀升,应用水平不断提高,特别是互联网.通信.多媒体等领域的应用取得了不错的成绩.1996年至2009 年,计算机用户数量从原来的63 ...

  7. 运用计算机优化教学的方法,浅谈计算机教学中多种教学方法优化运用.doc

    浅谈计算机教学中多种教学方法优化运用 浅谈计算机教学中多种教学方法优化运用 摘 要:每一种教学方法各有其优越性,也各有其局限性,正如一把钥匙不能打开所有的锁一样,所以对于不同特点的学生群体,不同特点的 ...

  8. 计算机硬件选配用户需求,设计师选什么样的电脑配置?浅谈设计用电脑硬件配置的选择建议...

    设计师选什么样的电脑配置?对于这个问题,无法给一个准确的回答,主要是因为设计分为很多种,比如平面设计.3D工业设计.视频动画设计等,由于用途不一,对电脑配置的要求也不一样.下面装机之家来浅谈设计用电脑 ...

  9. EL4.1配置文件管理浅谈(1)

    一.前言 我们知道高耦合性的代码是很不方便变更的,可能会导致牵一发而动全身,为了解耦大家想了很多方法,例如依赖注入等等,常见的做法是将这种耦合外推到配置文件,那么如何能对配置文件进行很好的组织就成了一 ...

最新文章

  1. android 魅族扫码,魅族Flyme8扫码快传太实用,轻松实现文件高速传输
  2. CVPR禁令出台:审稿期间禁止主动在社交媒体宣传论文!LeCun:阻碍科学交流,简直疯了...
  3. 【收藏】k8s使用如下配置给pod固定ip
  4. Android NDK开发一:配置环境
  5. 安卓入门系列-08四大组件之Activity
  6. dart系列之:和null说再见,null使用真实实践
  7. docker之手动构建新的镜像
  8. JAVA-Concurrency之CountDownLatch说明
  9. 查看显卡显存_选购显卡必须知道的五大参数及分类推荐购买显卡
  10. java xml 转excel_如何用java实现xml文件转excel
  11. php用空格分隔字符串,分割字符串空格
  12. Android判断是否可以使用外网
  13. MSXML应用总结 开发篇(上)
  14. 【小技巧】腾讯QQ——腾讯网迷你版弹窗
  15. CTGU·OJ .特别的幸运数
  16. JD-GUI工具下载安装
  17. 志在必得的。。。。失败。。。
  18. 学计算机的高数学什么,儿子大一,学的计算机科学与技术,感觉高数特别难,都学不会怎么办呢?有什么好办法?...
  19. 【论文学习】干旱指标相关
  20. 阿里品牌数据银行分析师复习资料库——基础标签

热门文章

  1. ReID:无监督及领域自适应的目标重识别概述
  2. 大三下对过去一年多的回顾
  3. php获取当前页完整url地址的方法教程
  4. ftp登录工具,你所不知道的三款ftp登录工具
  5. haxm intel庐_在电脑上安装Intel HAXM(硬件加速执行管理器)
  6. xlwings库 ==> Python调用VBA 的两种方法
  7. 使用python pillow 图片转字符串
  8. JAVA JDK的环境变量配置(配有图片,超级详细)
  9. matlab设计滤波器的工具箱,matlab工具箱设计滤波器
  10. oracle 支持多少并发量,如何估算一台数据库服务器能够承受的并发量