dbentry mysql_DbEntry——学习笔记(二)

上一篇文章讲了DbEntry使用前准备工作,这一篇主要讲使用DbEntry进行数据库的操作,包括增、删、改、查。DbEntry支持多种数据库,如Access,Sqlite,MSSql,MySql等等。不同数据库的使用对应它来说是非常方便的,只需要在配置文件中进行相应的设置即可,非常的灵活。DbEntry支持使用Linq进行数据查询,也可以直接使用sql语句进行数据库操作,非常容易上手。本文为了演示方便,使用的是Accss数据库。

1、插入数据

代码如下:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

1 publicActionResult Create(CreateArticleModel model)2 {3 try

4 {5 if(ModelState.IsValid)6 {7 Article a = new Article() { ArticleCategoryId = model.CateId, ArticleImage = model.ImageName == null ? "" : model.ImageName, Author = model.Author, ClickRate = 0, Content = model.Content, Title = model.Title, CreateDate = model.CreateDate, Sort = model.Sort, Source = model.Source == null ? "" : model.Source, State =model.State };8 DbEntry.Insert(a);9 return RedirectToAction("Index", "Article", new { id = string.Format("{0}_0_20", model.CateId) });10 }11 returnView(model);12 }13 catch

14 {15 returnView();16 }17 }

插入数据操作是非常方便的,首先引用命名空间using Lephone.Data;在方法体中调用DbEntry.Insert()方法;参数即为要插入的实体对象,在数据库中设置的主键是自增的,所以不需要关心主键字段的值。需要注意的是,如果实体字段的值是null,需要转换为""或者是其他字符串,总之就是不能直接把null插入到数据库。虽然在插入时没有问题,但在查询的时候就会抛出异常,具体在后面查询数据时候在谈。

2、查询数据

查询单个对象

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

1 public void GetById(intid)2 {3 var obj = DbEntry.GetObject(m => m.ArticleId ==id);4 }

查询集合

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

1 ///

2 ///查询多条数据3 ///

4 public voidGetList()5 {6 //简单查询

7 var list1 = DbEntry.From().Where(m => m.ArticleId > 0).Select().ToList();8 //排序

9 var list2 = DbEntry.From().Where(m => m.ArticleId > 0).OrderBy(m =>m.ArticleId).Select().ToList();10 //分页查询,页大小为10

11 var pageResult = DbEntry.From().Where(m => m.ArticleId > 0).OrderBy(m => m.ArticleId).PageSize(10).GetPagedSelector();12 //获取第一页数据,这里是从0开始的

13 var list3 = pageResult.GetCurrentPage(0);14 //总记录数

15 var total =pageResult.GetResultCount();16 //总页数

17 var pageCount =pageResult.GetPageCount();18 }

接着说下插入数据为null,查询时抛出的异常。下面的图片信息就是抛出的异常信息。看了这个自己也不是很明白,所有解决办法就是吧null替换为空字符串。

ce2fb65da6d43f1e9dc80586bfeb9741.png

简洁的语法确实很容易操作,不用再写复杂的sql语句,不用在写臃肿的函数的,是很效率吧!DdEntry还支持多表连接查询,在下现目前还没研究,先从最简单、最基础的开始吧,以后慢慢深入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DbEntry.Net是作者(梁利锋)设计的一个轻量级的 .Net ORM (Object Relational Mapping) 数据访问及 WEB 框架。对于 ORM 和 Sql 调用,它都拥有清晰和易用的 接口,目前支持 SqlServer、SQLite、MySql、Access、Firebird、Oracle 等数据库。对于 WEB 开发,它既支持 ASP.NET 2.0 的 DataSource 方 式,也支持 Ruby On Rails 风格的 MVC 方式。   目前,数据库部分已经支持多主键、多表联合查询、快速分页集合、 隐式数据库事务、连贯API查询、ActiveRecord风格查询、动态对象、部 分保存、自动创建数据表、一对一、一对多、多对多关系等功能,具体 实现请参阅 Samples 中的例子程序和单元测试的内容。   而 DataSource 部分,因为绑定数据访问组件,所以可以只需要修 改配置文件,不需要修改任何代码的在不同的数据之间切换。另外,还支 持按命名约定的方式绑定“新建”和“编辑”页面的控件,以最少的代码 完成输入、验证、保存等一系列操作。   Rails 风格的 MVC 框架目前已经完成 MVC 部分,脚手架,基类中 的 LinkTo、UrlTo 等快捷函数,Http Get 支持等。目前脚手架部分没有 数据验证模块,不过,自己写的 MVC 代码可以自行实现验证。   这个版本中,例子程序访问的数据库主要是 Access,而单元测试使 用的数据库是 SQLite,通过修改配置文件中数据源部分,可以使之不需 要重新编译即可工作于其它数据库上。配置部分通过 App.config 进行, 请参阅 Samples 中的例子程序中的 App.config 和 UnitTest 项目内嵌 的配置文件 UnitTest.config.xml 。   作者在 MS Sql Server 2000、MS Sql Server 2005 Express、 MS Access 2003、MySql 5.0、SQLite 3、Firebird 2.0.3 和 Oracle 10g Express 上测试过本组件。   v0.33 版比较大的改变为:   ·支持移除一对多、多对多关系   ·支持 Firebird、Oracle   ·增加缓存系统   ·支持 SoftDelete、CreatedOn、UpdatedOn   ·支持 ASP.NET 2.0 Membership 系统   ·DataSource 支持“新建”和“编辑”页面   ·Rails 风格 MVC 框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值