使用NSun快速开发之NSunV2发布

使用NSun快速开发NSunV2发布

简介:

      NSunV2在其NSun基础上进行了优化和操作上的改变,使其操作更加灵活易用。这次主要把每个对表的操作分为了两部分:表的查询操作、表的增删改操作。

所需DLL

       NSunV2.Core.dll

使用:

       以下为生成数据库映射工具。

 

具体操作步骤为:

1、   数据连接字符串

2、   选择数据库类型

3、   输入实体后缀,默认为Entity

4、   输入实体所在命名空间

5、   点击Connection进行数据库连接操作

6、   选择所要生成的表,或者点击全选按钮SelectAll

7、   点击SelectPath选择输出路径

8、   点击Generation进行生成

9、   会在所选目录下生成相关NSunV2内容,并在代码显示区显示相应生成代码

接下来把项目搭建好后把生成实体考入项目中,把NSunV2.Core.dll引入项目中。

所生成实体如下:

[Serializable]

    public class UsEntity : BaseEntity

    {

        private static String TABLENAME = "us";

        private Int32 _id;

        private String _name;

        [IncrementAttribute]

        [PrimaryAttribute]

        public Int32 Id

        {

            set { _id = value; }

            get { return _id; }

        }

        public String Name

        {

            set { _name = value; }

            get { return _name; }

        }

        public static QueryColumn __id= new QueryColumn((TABLENAME + ".id"),System.Data.DbType.Int32);

        public static QueryColumn __name= new QueryColumn((TABLENAME + ".name"),System.Data.DbType.String);

        public override string ___GetTableName()

        {

            return TABLENAME;

        }

}

其中还会生成一个查询类:UsQuery进行相关表的业务查询。在此就不贴代码了。

之后在配置文件中填写连接字符串

 

<connectionStrings>

    <add name="db"

connectionString="server=.\sqlexpress;database=demo;uid=sa;pwd=tiger"/>

  </connectionStrings>

在使用时需要在Program文件中填写如下代码,如果是Asp.net开发需要在Global.asax配置如下:

Global.asaxApplication_Start(object sender, EventArgs e)中添加

ConnectionDatabase con = new ConnectionDatabase("db");

//这里可以使用ConnectionDatabase.Default 取得第一个默认连接字符串

DbBaseLoader.LoaderFactory(con);

下面贴出部分使用操作(可以看NSunV2Sample里的具体操作):

        UsEntity en = new UsEntity();

        public void Save(UsEntity us)

        {

            us.Save();

        }

        public int SaveReturn(UsEntity us)

        {

            return us.SaveReturnIDEntity();

        }

        public int SaveReturnTran(UsEntity us)

        {

            int id = -1;

            using (DbTransaction tran = us.GetDbTransaction())

            {

                try

                {

                    id = us.SaveReturnIDEntity(tran);

                    tran.Commit();

 

                }

                catch (System.Exception ex)

                {

                    tran.Rollback();

                }

            }

            return id;

        }

        public void SaveTran(UsEntity us)

        {

          using (DbTransaction tran = us.GetDbTransaction())

          {

                try

                {

                    us.Save();

                    tran.Commit();

                }

                catch (System.Exception ex)

                {

                    tran.Rollback();

                }

            }

        }

        public void Update(UsEntity en, UpdateSqlSection updatesql)

        {

            en.Update(updatesql);

        }

        public void UpdateTran(UsEntity en, UpdateSqlSection updatesql)

        {

            en.Update(updatesql);

        }

        public void Delete(UsEntity en)

        {

            en.Delete();

        }

        public void DeleteTran(UsEntity us)

        {

            using (DbTransaction tran = us.GetDbTransaction())

            {

                try

                {

                    us.Delete(tran);

                    tran.Commit();

                }

                catch (System.Exception ex)

                {

                    tran.Rollback();

                }

            }

        }

注意:这里如果使用到了非MsAccessSqlServerOracle其他数据库时,需要在项目中添加NBearLite.AdditionalDbProviders的引用。

下载地址:

       NSun.Core   核心包下载

       NSunV2Sample  NSunV2实例下载

       NBearLite.AdditionalDbProviders 使用其他数据库添加DLL下载

    NSunV2Etitys 实体生成工具

posted @ 2010-02-06 14:43  Dacey  Views(621)  Comments(5Edit  收藏  举报