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);
}
}
}

四、修改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, "")
.AddColumn(NBear_UserInfo.UserInfo.Sex, )
.AddColumn(NBear_UserInfo.UserInfo.Men, )
.AddColumn(NBear_UserInfo.UserInfo.Remark, "NBear用户备注").Execute(); //2.删除
int num2 = db.Delete(NBear_UserInfo.UserInfo)
.Where(NBear_UserInfo.UserInfo.ID == ).Execute(); //3.修改
int num3 = db.Update(NBear_UserInfo.UserInfo)
.AddColumn(NBear_UserInfo.UserInfo.Name, "Himi_NBear")
.Where(NBear_UserInfo.UserInfo.ID == ).Execute(); //4.查看
IList<NBear_UserInfo> ls= db.Select(NBear_UserInfo.UserInfo)
.Where(NBear_UserInfo.UserInfo.Name.Contains("Himi"))
.ToList<NBear_UserInfo>(); return View();
}

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

.NET 常用ORM之Nbear的更多相关文章

  1. ORM概述及常用ORM框架

    一.ORM ORM(Object-relational mapping),即对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.也就是说,ORM是通过使用描述对象和数据库之间映 ...

  2. .NET 常用ORM之SubSonic

    一.SubSonic简单介绍 SubSonic是一个类似Rails的开源.NET项目.你可以把它看作是一把瑞士军刀,它可以用来构建Website和通过ORM方式来访问数据.Rob Conery和Eri ...

  3. .NET 常用ORM之iBatis

    ibatis 一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目,到后面发展的版本叫MyBatis但都是指的同一个东西.最初侧重 ...

  4. .NET 常用ORM之Gentle.Net

    .Net常用的就是微软的EF框架和Nhibernate,这两个框架用的都比较多就不做详细介绍了,今天我们来看看Gentle.Net,Gentle.Net是一个开源的优秀O/R Mapping的对象持久 ...

  5. .Net 常用ORM框架对比:EF Core、FreeSql、SqlSuger

    前言: 最近由于工作需要,需要选用一种ORM框架,也因此对EF Core.FreeSql.SqlSuger作简单对比.个人认为各有有优势,存在即合理,不然早就被淘汰了是吧,所以如何选择因人而议.因项目 ...

  6. .NET 常用ORM之NHibernate

    NHibernate做.Net应该都不陌生,今天我们就算是温故下这个技术,概念性的东西就不说了,这次主要说本人在实际使用的遇到的问题,比较费解现在就当是记录下,避免以后再犯.本次主要使用的情况是1对N ...

  7. yii 常用orm

    yii2 orwhere andwhere的复杂写法:https://www.codercto.com/a/6513.html $files = XXXX::find() ->andWhere( ...

  8. django ORM

    http://www.cnblogs.com/alex3714/articles/5512568.html 常用ORM操作 一.示例Models from django.db import model ...

  9. 轻量级ORM框架 QX_Frame.Bantina(二、框架使用方式介绍)

    轻量级ORM框架QX_Frame.Bantina系列讲解(开源) 一.框架简介 http://www.cnblogs.com/qixiaoyizhan/p/7417467.html 二.框架使用方式介 ...

随机推荐

  1. Hibernate三种状态,缓存,以及update更新问题

    一. Hibernate中对象的三种状态 1. 瞬时状态(transient) 当我们通过Java的new关键字来生成一个实体对象时,这时这个实体对象就处于自由状态,此时该对象只是通过JVM获得了一块 ...

  2. 网站分析参数(实例分析)SimilarWeb插件参数

      网站分析参数(实例分析)SimilarWeb插件参数 那么这些指标是什么意思呢? SimilarWeb Rank:类似网站排名Global Rank:全球网站排名第三栏一般是类别,大概网站从事范围 ...

  3. SUDO安全委派和安全模块

    sudo更换身份 su  切换身份   使用su 切换身份必须首先直到被切换成用户的密码   如: su root  就必须要知道root的密码 这种机制安全性不高,容易泄露管理员密码 1. sudo ...

  4. Linux命令实例功能笔记

    ls命令 ls对文件mtime时间进行排序 降序: ls -lt |  grep '^-'    升序:   ls -ltr  |  grep '^-' seq命令 求1000以内所有偶数的和 ech ...

  5. HTTP response 添加body

    在拦截器中进行拦截操作时,想要给response添加body,如何操作? /** * 返回JSON数据 * @param response * @param obj * @throws Excepti ...

  6. Spark创建空的DataFrame

    前言 本文主要给出Spark创建空的DataFrame的代码示例,这里讲的空的DataFrame主要指有列名(可以自己随意指定),但是没有行的DataFrame,因为自己在开发过程中有这个需求,之前并 ...

  7. MySQL--5子查询与连接小结

    子查询:出现在其他sql语句中的 SELECT,必须出现在小括号内,子查询外层可以是常见的SELECT语句,INSERT语句 UPDATE语句 DELETE语句,在子查询中可以包含多个关键字和条件 ( ...

  8. Python Anaconda使用

    选择Python 科学计算器发行版 Python用于科学计算的一些常用工具和库 IPython-增强的交互环境:支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函 ...

  9. 关于事件循环机制event loop

    setTimeout(()=> { console.log('settimeout') },100) console.log('开始') console.log('结束') new Promis ...

  10. mysql----------阿里云RDS导入导出

    1.这是阿里云rds如何将导出的物理备份文件,导入到自建库里面: https://help.aliyun.com/knowledge_detail/5973700.html?spm=5176.7766 ...