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. 下载ez_setup

    1.下载ez_setup链接:https://pypi.org/project/ez_setup/#files

  2. 005-docker-镜像使用、拉取、运行、创建、打tag

    当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载. 1.列出所有本地镜像 docker images ...

  3. vs2005新建项目中没有ASP.NET WEB应用程序

    今天正准备使用vs 2005,发现根本打不开老师发过来的源代码Portal_Article.csproj文件,上网查了一下,好多人都说是是因为没有给vs 2005打补丁.我的新建项目里根本没有ASP. ...

  4. TCP、UDP和HTTP详解

    http:是用于www浏览的一个协议.tcp:是机器之间建立连接用的到的一个协议. 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.在网络层有IP协议.ICMP协议.ARP协议.R ...

  5. 微信小程序 - 表单验证插件WxValidate使用

    插件下载地址及官方文档:https://github.com/skyvow/wx-extend 具体的WxValidate.js文件的位置在wx-extend/src/assets/plugins/w ...

  6. [vue]webpack中使用组件

    https://blog.csdn.net/ywl570717586/article/details/79984909 vue.js中全局组件 全局组件的定义 <!DOCTYPE html> ...

  7. sqlserver把数据导入mysql

    sqlserver库 navicat逆向表到模型 转换模型为... 选择mysql 建模转换后导出sql 导出sql后,再mysql库中执行该sql(该sql为表结构)执行sql后,使用navicat ...

  8. Python第三弹--------文件和异常

    文件读取: pi_digits.txt 3.1415926535 8979323846    2643383279 file_reader.py with open('pi_digits.txt') ...

  9. 【LeetCode每天一题】Reverse Linked List(链表反转)

    Reverse a singly linked list. Example:           Input: 1->2->3->4->5->NULL          ...

  10. ODBC的JAR包和PLSQL

    eclipse编辑器,写java 下载ODBC的JAR包 配置一下用户名和密码 java连接上数据库后 不是直接操作数据库 在代码里面有SQL语句 代码执行的时候遇到这些语句就可以操作数据库  平时操 ...