zoukankan      html  css  js  c++  java
  • DbEntry——学习笔记(二)

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

    1、插入数据

         代码如下:

         

    View Code
     1         public ActionResult 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                 return View(model);
    12             }
    13             catch
    14             {
    15                 return View();
    16             }
    17         }

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

    2、查询数据

         查询单个对象

         

    View Code
    1         public void GetById(int id)
    2         {
    3             var obj = DbEntry.GetObject<Article>(m => m.ArticleId == id);
    4         }

         查询集合

    View Code
     1         /// <summary>
     2         /// 查询多条数据
     3         /// </summary>
     4         public void GetList()
     5         {
     6             //简单查询
     7             var list1 = DbEntry.From<Article>().Where(m => m.ArticleId > 0).Select().ToList();
     8             //排序
     9             var list2 = DbEntry.From<Article>().Where(m => m.ArticleId > 0).OrderBy(m => m.ArticleId).Select().ToList();
    10             //分页查询,页大小为10
    11             var pageResult = DbEntry.From<Article>().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替换为空字符串。

     

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

  • 相关阅读:
    D365FO Debug找不到w3cp进程
    D365FO 10.0PU32 开发环境 Data Management导出失败
    一张图看懂项目管理
    用户体验为什么重要?如何提升产品的用户体验?(写给产品小白)
    敏捷考证?你应该知道的敏捷体系认证(最全名单)
    漫画:禅道程序员的一天
    敏捷开发管理--任务分解经验之谈
    漫画:优秀程序员的必备特质有哪些?
    漫画:女生/男生告白攻略
    漫画:程序员脱单秘籍
  • 原文地址:https://www.cnblogs.com/kaixiangbb/p/3041262.html
Copyright © 2011-2022 走看看