基于.NET C#的 sqlite 数据库 ORM 【Easyliter】

因为工作原因经常用到SQLITE数据库,但又找不到好用的ORM所以自个整理了一个简单好用的轻量极ORM框架:Easyliter

功能介绍:

1、支持SQL语句操作

2、支持 List<T>和DataTable两种返回格式

3、支持拉姆达表达示进行数据查询和分页

4、内置创建实体类函数

5、依赖于 System.Data.SQLite

使用方法如下:

  static void Main(string[] args)
        {
            var connstr = "DataSource=" + System.AppDomain.CurrentDomain.BaseDirectory + "mapping.sqllite";

            //依赖于 System.Data.SQLite
            Easyliter e = new Easyliter(connstr);

            //从数据库创建类
            var createCalss1 = e.CreateCalss("Sqlite.Model"/*命名空间*/, @"D:\工作\Sqlite\Sqlite\model"/*路径*/);

            //根据SQL语句创建类,多表查询会用到
            var createCalss2 = e.CreateCalssBySql("Sqlite.Model", @"D:\工作\Sqlite\Sqlite\model", "viewproduct", "select id,sku from product ");

            //删除
            // e.Delete<Product>(100);
            // e.Delete<Product>(new int [] {1,2,3});

            //更新
            //e.Update<Product>(new { sku = "x2",category_id=1 }, new { id=434 });

            ////添加
            //Product p = new Product()
            //{
            //    category_id = 2,
            //    sku = "sku",
            //    title = "title"
            //};
            //e.Insert<Product>(p);

            ////根据sql查询
            List<Product> list = e.Select<Product>("select * from product where  id>@num", new { num=100 });

            //无条件
            List<Category> list2 = e.Select<Category>();

            //单条件
            List<Product> list3 = e.Select<Product>(x=>x.id>200);

            //多条件
            List<Product> list4 = e.Select<Product>(x => x.id > 200,
                                                    x=>  x.sku=="skx"||x.sku==null);
            //多条件分页
            int count = 0;
            List<Product> list5 = e.SelectPage<Product>(1,10,ref count," id  desc",
                                            x =>x.id > 10 ,//条件1
                                            x=>true);//条件2 ...条件N
            //var dt = e.GetDataTable("select * from product order by id desc");

        }

源码地址:http://git.oschina.net/sunkaixuan/Easyliter

时间: 2024-08-09 16:29:17

基于.NET C#的 sqlite 数据库 ORM 【Easyliter】的相关文章

【Win10】在应用中使用 SQLite 数据库

在绝大多数应用中,免不了要做的一项就是设置这样的本地数据存储.简单的数据存储我们可以使用 LocalSettings 或者 IsolatedStorageFile(独立存储)等等的方式来进行本地数据存储.但是,如果数据比较复杂,或者是存在关联关系的情况下,这种简单的键值存储方式是不够用的.这时候就需要用到数据库来进行存储.说到数据库,小型.轻量基于文件的 SQLite 就很适合在这种场合使用. 一.安装 SQLite for Universal App Platform VSIX 扩展 打开菜单

Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库

一.依赖注入DI 通过依赖注入减少View.服务.资源简化初始化,事件绑定等重复繁琐工作 AndroidAnnotations(Code Diet) android快速开发框架 项目地址:https://github.com/excilys/androidannotations 文档介绍:https://github.com/excilys/androidannotations/wiki 官网网址:http://androidannotations.org/ 特点:(1) 依赖注入:包括view

SQlite数据库框架:LitePal

常用的数据库框架Android的发展的速度是难以置信的,Android出来哪一年我还在小学上学很,还能很清楚的记得,那年一切,但是那个时候的我怎么可能也不会想到自己将来会要去做Android.Android数据库的框架很多,选择自己喜欢的,不用掌握很多,选择自己喜欢的就好. Sugar&GreenDao&Afinal&ORMLite&Realm&LiteOrm&DBFlow&ActiveAndroid&LitePal SugarORM 是对象

Android目前流行三方数据库ORM分析及对比

Android 平台上的数据库框架非常多,但是有一个共同特点就是基于对象关系映射(ORM)模型的.实现的目标也都是不需要写SQL语句,通过对对象的操作保存和操作数据.要是从语法的简洁性来说都有自己的特点,总的来说不相上下,因此只能从数据的性能上来抉择了. 首先我们先看看目前最常用的数据库框架介绍(排名不分先后) GreenDao 简单介绍:GreenDao是为Android设计的对象关系映射(ORM)工具.它提供了对象到关系型数据库SQLite的相应接口.为了在Android工程中使用green

Django之 数据库ORM

一.ORM Django的 业务 少不了 跟数据库打交道,不然没有数据库保存一些数据将是一件很糟糕的事情.Django 对 数据库 支持原生的 SQL语句,但更好的对数据库支持,Django自己有一套对数据库操作的模块,在操作.性能.便捷上 有很好的提升.ORM,Object Relational Mapping,对象关系映射.从字面意思理解,面向对象编程把所有实体看成对象(object),关系型数据库则是采用实体之间的关系(relation)连接数据.很早就有人提出,关系也可以用对象表达,这样

安卓项目-利用Sqlite数据库,开发新闻发布系统

本教程致力于程序员可以快速的学习安卓移动端手机开发. 适合于已经习得一种编程语言的同仁. 更多志同道合,想要学习更多编程技术的大神们. 小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮. 本文章是基于上篇文章基础之上进行深入学习的.程序员带你学习安卓开发-XML文档的创建与解析 Sqlite数据库: Sqlite数据库是在安卓中使用较广泛的数据库.其为简单.轻巧的Sql类文件型数据库.因以简单的文本形式保存,所以安全性不是很高.只要拿到sqlite数据库文件就可以得到数据.所以这就决定了sql

Visual Studio下SQLite数据库开发环境设置

因为我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置. 详细而言我们有两种方式能够在Visual Studio中SQLite数据库:使用SQLite源码文件和使用Cocos2d-x提供的库文件.1.使用SQLite源码文件SQLite是C编写的开源的数据库,我们能够在http://www.sqlite.org/download.html网址下载最新的SQLite源码,如我下载的sqlite-a

Go语言中使用SQLite数据库

Go语言中使用SQLite数据库 1.驱动 Go支持sqlite的驱动也比较多,但是好多都是不支持database/sql接口的 https://github.com/mattn/go-sqlite3 支持database/sql接口,基于cgo(关于cgo的知识请参看官方文档或者本书后面的章节)写的 https://github.com/feyeleanor/gosqlite3 不支持database/sql接口,基于cgo写的 https://github.com/phf/go-sqlite

cocos2d-x 2.1 Win32+Android开发中的sqlite数据库加密技术探讨

注意:本博客转移自本人约一年前的ITPUB博客文章,为的是便于学员参考之用. 很显然,cocos2d-x编程中只了解基本的sqlite数据库操作技术只是一个开头,真正把此数据库数据应用于实际中不使用一定的加密及解密技术几乎是不行的. 这个问题尽早会来到我面前,这不?现在就来了.一开始,自然想使用最省工的了:但是,这样的好事并不多,极少极少...... 于是,我先搜罗了一些现成的文章拿来一阅. 1,Sqlite数据库加密解密 SRC: http://blog.sina.com.cn/s/blog_