• SubSonic2.2框架的使用方法和配置说明


    网上.net ORM框架也不少,但是我感觉这个框架配置很简单的,前几年貌似用的人很多,现在好像用得比较少了,随着它官方的升级现在已经到3.0了, 并且采用T4 模板生成的方式,代码量好像减少了。不过我感觉2.2还是比较稳定,前些天有网友问这个框架怎么使用,在次让我整理了一下。废话就不说了,先看看怎么配置使用吧

    步骤一 配置web.config:

    在configSections节点上先加入SubSonic声明代码如下:

        <configSections>
    
            <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" allowDefinition="MachineToApplication" restartOnExternalChanges="true" requirePermission="false"/>
    
        </configSections>
    
        <appSettings/>

    直接是连接数据库文件

        <connectionStrings>
    
            <add name="SubSonicConn" connectionString="Data Source=127.0.0.1; Database=agebook; Integrated Security=true;User ID=sa;Password=sa;" providerName="System.Data.SqlClient"/>
    
        </connectionStrings>

     在<configuration>内配置节点下配置SubSonic服务配置如下:

    别忘了在中间加入<clear/>

    首先看看name这个可以随便取

    connectionStringName="SubSonicConn" 这个是对应连接名称

    generatedNamespace="MyTest" 这个也是随便取的的但是记得对应类命名空间名就行

        <SubSonicService defaultProvider="SubSonicConn" enableTrace="false" templateDirectory="">
    
            <providers>
    
                <clear/>
    
                <add name="SubSonicConn" type="SubSonic.SqlDataProvider, SubSonic" connectionStringName="SubSonicConn" generatedNamespace="MyTest" removeUnderscores="false"/>
    
            </providers>
    
        </SubSonicService>

    OK配置文件信息好了

    接下来倒入SubSonic.dll即可

    步骤二:接下来配置代码生成工具:

    点击vs 2010 工具栏中的工具选项 ==> 选择 外部工具 ==> 添加 ==> 标题 可以随便起,我使用的名称为MySubSonicTools ==> 点击命令的选择按钮,选择下载SubSonic的SubCommander文件中的sonic.exe文件 ==> 参数:generate /out ormclass,初始目录为:$(ProjectDir),并勾选“使用命令窗口”和“提示输入参数”两个选项,点确定。

    Out ormclass 这个得注意了如果你新建的时网站程序一定要放到App_Code中

     

    如图:

     

     

     

    点击MySubSonic按钮,然会出现弹窗点击确定,刷新网站,就会出现生成的文件夹ormclass,如图:

    如果没有App_Code中请移到里面即可

    其中agebook库中相关为表的使用类,AllStructs.cs为主要的控制器文件,StoredProcedures.cs为存储过程相关的类。如果你的操作没有生成这些相关的类,应该是数据库链接字符串配置的问题,检查之后重新生成即可。 

    步骤三:SubSonic方法调用

    完成以上的两步之后,SubSonic配置就已经完成了,SubSonic使用语法如下:

    使用之前要先引用:

    using MyTest; //这个是我们在配置文件中的名称即就是生成类的命名空间名称
    
    using SubSonic;

    加载页面代码

           if (!IsPostBack)
            {
                // 1.添加
                A_Admin ad = new A_Admin();
                ad.Name = "ttttt";
                ad.Password = "wwwwwwwwww";
                ad.Loginip = "127.0.0.1";
                ad.Save();
                // 2.修改
                int updateallid = new Update(A_Admin.Schema)
                    .Set(A_Admin.Columns.Password).EqualTo("密码修改了")         // 设置字段Password值为“密码修改了”
                    .Where(A_Admin.Columns.Id).IsEqualTo("2")
                    .Execute();
                //当然修改还有其它方法
                //A_Admin ad1 = new A_Admin();
                //ad1.Id = 24;
                //ad1.Name = "ttttt";
                //ad1.Password = "wwwwwwwwww";
                //ad1.Loginip = "127.0.0.1";
    
                // 3.删除
                // DB.Delete().From(A_Admin.Schema).Where(A_Admin.Columns.Id).IsEqualTo("7").Execute();
                A_Admin.Delete(30);
                //批量删除
                //Query q = A_Admin.Query();
                //q.AddWhere(A_Admin.Columns.Password, "wwwwwwwwww");
                //q.QueryType = QueryType.Delete;
                //q.Execute();
    
                //以上两种方法都可以
    
                // 4.查询
                this.GridView1.DataSource = DB.Select().From(A_Admin.Schema).ExecuteDataSet().Tables[0];
                this.GridView1.DataBind();
    
            }

    以上代码包括 增、删、改、查方法

    感觉是不是很简单,比起其它orm框架如 Nhibernate省去了配置xml这些麻烦。

    其实在开发中不管你用什么ORM框架用着熟练顺手就行, 用EF也行。甚至抛开这些框架直接ADO

    本例demo下载:请点击我

  • 相关阅读:
    JAVA动态代理
    图解 Tomcat 体系结构
    AdvancedDataGrid的使用
    You have an error in your SQL syntax; check the manual that corresponds...错误解决方案
    更新整站索引时失败,错误原因: [Incorrect integer value: `` for column `uptime` at row 1]
    dedecms转换v9 卡住的解决办法
    IIS 涉及到500和403或者404友好错误的设置!
    PHP Warning: date(): It is not safe to rely on the system's timezone settings
    不能读取记录;在 'MSysObjects' 上没有读取数据权限
    PHP5.3.5如何连接MSSql Server2005
  • 原文地址:https://www.cnblogs.com/angelasp/p/3860042.html
Copyright © 2020-2023  润新知