zoukankan      html  css  js  c++  java
  • .NET 常用ORM之Nbear

    NBear是一个基于.Net 2.0、C#2.0开放全部源代码的的软件开发框架类库。NBear的设计目标是尽最大努力减少开发人员的工作量,最大程度提升开发效率,同时兼顾性能及可伸缩性。

    一、新建项目并添加NBear所需要的动态库:NBear.Core.dll、NBear.Mapping.dll、NBearLite.dll(dll位置在现在的NBear的dist...文件夹里)

    二、生成NBear映射类文件,生成器在下载的NBear的dist... 文件夹里,名称为:NBearLite.QueryColumnsGenerator.exe,双击运行,如图:

    三、生成类文件代码如下,并将类文件添加到当前项目中

     namespace Model {
            
            
            public class NBear_UserInfo {
                
                public static @__Model.UserInfo_Columns UserInfo = new @__Model.UserInfo_Columns();
            }
        }
        namespace @__Model {
            
            
            public class UserInfo_Columns : NBearLite.IQueryTable {
                
                private const string ___TABLE_NAME = "UserInfo";
                
                private string ___aliasName;
                
                private static NBearLite.QueryColumn _ID = new NBearLite.QueryColumn((___TABLE_NAME + ".ID"), System.Data.DbType.Int32);
                
                private static NBearLite.QueryColumn _Name = new NBearLite.QueryColumn((___TABLE_NAME + ".Name"), System.Data.DbType.String);
                
                private static NBearLite.QueryColumn _Age = new NBearLite.QueryColumn((___TABLE_NAME + ".Age"), System.Data.DbType.Int32);
                
                private static NBearLite.QueryColumn _Sex = new NBearLite.QueryColumn((___TABLE_NAME + ".Sex"), System.Data.DbType.Int32);
                
                private static NBearLite.QueryColumn _Men = new NBearLite.QueryColumn((___TABLE_NAME + ".Men"), System.Data.DbType.Int32);
                
                private static NBearLite.QueryColumn _Remark = new NBearLite.QueryColumn((___TABLE_NAME + ".Remark"), System.Data.DbType.String);
                
                public UserInfo_Columns(string aliasName) {
                    this.___aliasName = aliasName;
                }
                
                public UserInfo_Columns() {
                    this.___aliasName = ___TABLE_NAME;
                }
                
                public NBearLite.QueryColumn ID {
                    get {
                        if ((this.___aliasName == ___TABLE_NAME)) {
                            return _ID;
                        }
                        else {
                            return new NBearLite.QueryColumn((this.___aliasName + ".ID"), System.Data.DbType.Int32);
                        }
                    }
                }
                
                public NBearLite.QueryColumn Name {
                    get {
                        if ((this.___aliasName == ___TABLE_NAME)) {
                            return _Name;
                        }
                        else {
                            return new NBearLite.QueryColumn((this.___aliasName + ".Name"), System.Data.DbType.String);
                        }
                    }
                }
                
                public NBearLite.QueryColumn Age {
                    get {
                        if ((this.___aliasName == ___TABLE_NAME)) {
                            return _Age;
                        }
                        else {
                            return new NBearLite.QueryColumn((this.___aliasName + ".Age"), System.Data.DbType.Int32);
                        }
                    }
                }
                
                public NBearLite.QueryColumn Sex {
                    get {
                        if ((this.___aliasName == ___TABLE_NAME)) {
                            return _Sex;
                        }
                        else {
                            return new NBearLite.QueryColumn((this.___aliasName + ".Sex"), System.Data.DbType.Int32);
                        }
                    }
                }
                
                public NBearLite.QueryColumn Men {
                    get {
                        if ((this.___aliasName == ___TABLE_NAME)) {
                            return _Men;
                        }
                        else {
                            return new NBearLite.QueryColumn((this.___aliasName + ".Men"), System.Data.DbType.Int32);
                        }
                    }
                }
                
                public NBearLite.QueryColumn Remark {
                    get {
                        if ((this.___aliasName == ___TABLE_NAME)) {
                            return _Remark;
                        }
                        else {
                            return new NBearLite.QueryColumn((this.___aliasName + ".Remark"), System.Data.DbType.String);
                        }
                    }
                }
                
                public string ___GetTableName() {
                    return ___TABLE_NAME;
                }
                
                public @__Model.UserInfo_Columns @__Alias(string aliasName) {
                    return new @__Model.UserInfo_Columns(aliasName);
                }
            }
        }
    View Code

    四、修改webconfig配置文件

    和一般的项目一样,在webconfig中加上connectionStrings数据库连接点(注意这个name,在后面代码会使用到,没有特别的要求,可以随意命名)

      <connectionStrings>
        <add name ="NBearDBConn" connectionString="Data Source=.;Initial Catalog=Test;uid=sa;password=XXXXXX;"/>
      </connectionStrings>
    

    五、实际使用,代码如下:

    public ActionResult Index()
            {
                Database db = new Database("NBearDBConn");
                //1.增加
                int num1 = db.Insert(NBear_UserInfo.UserInfo)
                    .AddColumn(NBear_UserInfo.UserInfo.Name, "NBear用户")
                    .AddColumn(NBear_UserInfo.UserInfo.Age, "110")
                    .AddColumn(NBear_UserInfo.UserInfo.Sex, 1)
                    .AddColumn(NBear_UserInfo.UserInfo.Men, 0)
                    .AddColumn(NBear_UserInfo.UserInfo.Remark, "NBear用户备注").Execute();
    
                //2.删除
                int num2 = db.Delete(NBear_UserInfo.UserInfo)
                     .Where(NBear_UserInfo.UserInfo.ID == 5).Execute();
    
                //3.修改
                int num3 = db.Update(NBear_UserInfo.UserInfo)
                    .AddColumn(NBear_UserInfo.UserInfo.Name, "Himi_NBear")
                    .Where(NBear_UserInfo.UserInfo.ID == 4).Execute();
    
                    
                //4.查看
                IList<NBear_UserInfo> ls= db.Select(NBear_UserInfo.UserInfo)
                    .Where(NBear_UserInfo.UserInfo.Name.Contains("Himi"))
                    .ToList<NBear_UserInfo>();
    
                return View();
            }
    View Code

    至此,NBear的简单使用已经结束,其语法有点特别,个人觉得还可以,需要自己手写的代码并不多,基本配置完了,后面只用基本都是点出来的。

  • 相关阅读:
    iOS8.1 To iOS8.2
    OAuth授权验证说明
    iOS消息推送
    Swift2
    Swift1
    数据结构,每次看都有不一样的体会
    修改CS、IP的指令(学习汇编)
    C,C++中的堆与栈
    12864显示菜单处理编程
    C编程常见的内存错误
  • 原文地址:https://www.cnblogs.com/become/p/8875160.html
Copyright © 2011-2022 走看看