技术开发 频道

Subsonic设置


【IT168技术文档】

  在刚开始使用中就碰到问题:按照官方的方法配置,总是不能编译时自动生成数据访问层代码(其中一种,也可使用命令行自己生成,下面介绍)。本文只要介绍了这两种配置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,菜单-工具-外部工具,添加外部工具对话框如下:

0
相关文章