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