使用SubSonic生成数据访问层步骤
SubSonic是一个ORM框架,或者说是一个代码生成器,它的工作流程和一般的ORM工具不同,所有的工作全是自动完成,生成完整的数据访问层类库,然后在工程中引用即可使用。整个过程很简单,下面就生成数据访问层类库的过程记录如下:
1、建立一个c#类库工程
2、删除默认生成的class1.cs文件
3、工程添加两个引用,SubSonic.dll和System.Configuration命名空间
4、在工程下建立一个文件夹,Generated
5、在工程中添加一个新文本文件,命名为:app.config,内容如下:
<?xml version="1.0"?>
<configuration>
<configSections>
![](/Images/OutliningIndicators/None.gif)
<section name="SubSonicService"
type="SubSonic.SubSonicSection, SubSonic"
requirePermission="false"/>
![](/Images/OutliningIndicators/None.gif)
</configSections>
<connectionStrings>
![](/Images/OutliningIndicators/None.gif)
<add name="Nowthwin"
connectionString="Data Source=.;Initial Catalog=Nowthwin;Persist Security Info=True;User ID=sa;Password=;"/>
![](/Images/OutliningIndicators/None.gif)
</connectionStrings>
![](/Images/OutliningIndicators/None.gif)
<SubSonicService defaultProvider="Nowthwin">
![](/Images/OutliningIndicators/None.gif)
<providers>
![](/Images/OutliningIndicators/None.gif)
<clear/>
![](/Images/OutliningIndicators/None.gif)
<add name="Nowthwin"
type="SubSonic.SqlDataProvider, SubSonic"
connectionStringName="Nowthwin"
generatedNamespace="Nowthwin"/>
![](/Images/OutliningIndicators/None.gif)
</providers>
![](/Images/OutliningIndicators/None.gif)
</SubSonicService>
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
</configuration>
4、在vs中工具菜单中选择“外部工具”命令,定义一个外部工具菜单项,标题为SubSonic DAL,命令为SubSonic文件夹的中命令行工具sonic.exe,参数为:generate /out Generated,初始目录为:$(ProjectDir),并勾选“使用命令窗口”和“提示输入参数”两个选项,点确定。
5、此时vs的工具菜单多了一项“SubSonic DAL命令,单击,然后确定。
6、执行完毕,在Generated文件夹中会生成你设定的数据库的类库文件,包括表、视图、存储过程的c#包装。如果出现错误,一般是因为数据库连接串有问题,请仔细检查。
7、把Generated文件夹下的所有文件包含到工程中,然后编译,生成类库。至此,全部工作完成,可以在项目中使用ORM操作您的数据库了,完全强类型化的数据库操作方法。
8、在项目中使用这个类库的时候,需要在web.config中把上面的app.config中的设置,复制到对应的小节中。
9、数据库修改后,只要重新生成一次类库即可,这可能就是所谓的零数据访问层代码实现吧,总之是非常方便。
1、建立一个c#类库工程
2、删除默认生成的class1.cs文件
3、工程添加两个引用,SubSonic.dll和System.Configuration命名空间
4、在工程下建立一个文件夹,Generated
5、在工程中添加一个新文本文件,命名为:app.config,内容如下:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
4、在vs中工具菜单中选择“外部工具”命令,定义一个外部工具菜单项,标题为SubSonic DAL,命令为SubSonic文件夹的中命令行工具sonic.exe,参数为:generate /out Generated,初始目录为:$(ProjectDir),并勾选“使用命令窗口”和“提示输入参数”两个选项,点确定。
5、此时vs的工具菜单多了一项“SubSonic DAL命令,单击,然后确定。
6、执行完毕,在Generated文件夹中会生成你设定的数据库的类库文件,包括表、视图、存储过程的c#包装。如果出现错误,一般是因为数据库连接串有问题,请仔细检查。
7、把Generated文件夹下的所有文件包含到工程中,然后编译,生成类库。至此,全部工作完成,可以在项目中使用ORM操作您的数据库了,完全强类型化的数据库操作方法。
8、在项目中使用这个类库的时候,需要在web.config中把上面的app.config中的设置,复制到对应的小节中。
9、数据库修改后,只要重新生成一次类库即可,这可能就是所谓的零数据访问层代码实现吧,总之是非常方便。