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. UITextView设置placeholder

    下面是我的代码,可以直接拿来用 #import <UIKit/UIKit.h> @interface CustomTextView : UITextView @property(nonat ...

  2. docker基本原理

    写的很不错的文章,作个存档 什么是容器 容器是 种轻量级.可移植的为应用程序提供了隔离的运行空间 .每个容器内都包含一个独享的完整用户环境,并且 个容器内的环境变动不会影响其他容器的运行环境,可以使应 ...

  3. poi 生成图片到excel

    try { InputStream iss = new FileInputStream("D:\\test.xlsx"); XSSFWorkbook wb = new XSSFWo ...

  4. Spark Worker启动Driver和Executor工作流程

    二:Spark Worker启动Driver源码解析 case LaunchDriver(driverId, driverDesc) => { logInfo(s"Asked to l ...

  5. 合理利用配置不同的机器资源做redis cluster的server

    Redis cluster可以使用不同配置的机器学习因为我们可以手动调整不同的机器所承担的slot的个数,这样内存小CPU相对少的机器应该承担更少的slots

  6. js图的数据结构处理----邻链表,广度优先搜索,最小路径,深度优先搜索,探索时间拓扑

    //邻居连表 //先加入各顶点,然后加入边 //队列 var Queue = (function(){ var item = new WeakMap(); class Queue{ construct ...

  7. selenium及webdriver的原理【转】

    selenium与webdriver整合后,形成的新的测试工具叫做selenium2.x.在selenium1时间,selenium使用javascript来达到测试自动化的目标. 1. seleni ...

  8. react native中使用 react-native-easy-toast 和react-native-htmlview

    第一步,下载依赖 npm install react-native-htmlview --save npm install react-native-easy-toast --save 第二步,引入 ...

  9. vuex使用一

    至于为什么使用vuex在这里就不过多的解释了,直接进入正题 1.vuex的安装 cnpm install vuex -S 2.然后在main.js中引入 import Vue from 'vue' i ...

  10. 启动软件丢失 MSVCR100.dll 系列,缺少库的问题

    做安装包时,Installshield2015工具,里可以添加需要的库. 不然需要自己一个个处理. 参考链接:https://zhidao.baidu.com/question/338311071.h ...