.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);
}
}
}
四、修改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的更多相关文章
- ORM概述及常用ORM框架
一.ORM ORM(Object-relational mapping),即对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.也就是说,ORM是通过使用描述对象和数据库之间映 ...
- .NET 常用ORM之SubSonic
一.SubSonic简单介绍 SubSonic是一个类似Rails的开源.NET项目.你可以把它看作是一把瑞士军刀,它可以用来构建Website和通过ORM方式来访问数据.Rob Conery和Eri ...
- .NET 常用ORM之iBatis
ibatis 一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目,到后面发展的版本叫MyBatis但都是指的同一个东西.最初侧重 ...
- .NET 常用ORM之Gentle.Net
.Net常用的就是微软的EF框架和Nhibernate,这两个框架用的都比较多就不做详细介绍了,今天我们来看看Gentle.Net,Gentle.Net是一个开源的优秀O/R Mapping的对象持久 ...
- .Net 常用ORM框架对比:EF Core、FreeSql、SqlSuger
前言: 最近由于工作需要,需要选用一种ORM框架,也因此对EF Core.FreeSql.SqlSuger作简单对比.个人认为各有有优势,存在即合理,不然早就被淘汰了是吧,所以如何选择因人而议.因项目 ...
- .NET 常用ORM之NHibernate
NHibernate做.Net应该都不陌生,今天我们就算是温故下这个技术,概念性的东西就不说了,这次主要说本人在实际使用的遇到的问题,比较费解现在就当是记录下,避免以后再犯.本次主要使用的情况是1对N ...
- yii 常用orm
yii2 orwhere andwhere的复杂写法:https://www.codercto.com/a/6513.html $files = XXXX::find() ->andWhere( ...
- django ORM
http://www.cnblogs.com/alex3714/articles/5512568.html 常用ORM操作 一.示例Models from django.db import model ...
- 轻量级ORM框架 QX_Frame.Bantina(二、框架使用方式介绍)
轻量级ORM框架QX_Frame.Bantina系列讲解(开源) 一.框架简介 http://www.cnblogs.com/qixiaoyizhan/p/7417467.html 二.框架使用方式介 ...
随机推荐
- 20181211 Oracle Parallel
如下用Select作为参考, Select 在sql server中如果直接查询大量的数据,方式为给列增加Index,可以提高效率.如果查询数据量非常大的时候其实效率依旧不高,而且index在增删改中 ...
- mysql在linux上的安装
前提: 环境:workstation 11 + CentOS 7 + mysql-5.6.40 安装前先查看服务器里是否有老版本的mysql已经被安装了 rpm -qa|grep mysql 如果有就 ...
- 如何卸载VMware虚拟机?
如何卸载VMware虚拟机? 1.windows + R 打开>运行-->regedit(打开编辑注册表)-->找到HKEY_LOCAL_MACHINE-->Software ...
- LNMP安装目录及配置文件
LNMP安装目录及配置文件位置 LNMP相关软件安装目录Nginx 目录: /usr/local/nginx/MySQL 目录 : /usr/local/mysql/MySQL数据库所在目录:/usr ...
- Java 基础 常用API (Object类,String类,StringBuffer类)
Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...
- 【LeetCode每天一题】Generate Parentheses(创造有效的括弧)
Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...
- \Temporary ASP.NET Files\root\文件不断增长,如何处理?
很久没有写博了.最近半年除了忙活布置新家和过年期间走亲访友之外,都是在公司处理一些项目中的杂事:连家里买的很多书都停下来没看了,感觉这段时间在事业和学习上一直都是忙忙碌碌,却又碌碌无为. 吐槽完,说正 ...
- C#中,使用正则表达式匹配获取所需数据
.NET中,使用正则表达式匹配获取所需数据 需求:获取一串字符串中,正则匹配出需要的数据. 例如以下字符串: string temp ="ErrorCode:-1,Message:{&quo ...
- url请求老是有 之前的部分url
url请求的时候老是会有之前的部分url <form action="shiro/register" method="POST"> 解决方法,加上本 ...
- maven下载和安装
注意:安装Maven3之前需要安装jdk1.7以上版本,下面介绍的是最新版Maven官网下载并安装, 每个人使用的编辑器不同,在这里我就不介绍了,可以去网上查对应编辑器Maven配置方法. 第一步,官 ...