PetaPoco与SQLite.

对于精简版本的ORM,PetaPoco确实短小精悍,想做个WPF的Demo,然后将PetaPoco与SQLite集成一起使用,简单易用,是不错的选择。

()==数据库配置文件

  <!--数据库配置-->
<appSettings>
<!--SQLite-->
<add key="SQLString" value="~\App_Data\OldDemo.db"/>
<add key="SQLString2" value="|DataDirectory|OldDemo.db"/>
</appSettings> ()配置类
class Config
{
public static string DatabaseFile = "";
public static string DataSource
{
get
{
return string.Format("data source={0}", ConfigurationManager.AppSettings["SQLString2"]);
}
}
} ()==BaseServices类 using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SQLite;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Text;
using App.Core.Constant;
using PetaPoco; namespace App.Core.Service
{
public abstract class BaseService
{
private IDbConnection connection; public BaseService()
{
connection = new SQLiteConnection(Config.DataSource);
} /// <summary>
/// 查询所有对象
/// </summary>
/// <typeparam name="T">泛型对象</typeparam>
/// <returns></returns>
public List<T> Query<T>()
{
var list = new List<T>();
try
{
string className = typeof(T).ToString(); var db = new Database(connection);
string name = className.Substring(
className.LastIndexOf('.') + ,
className.Length - className.LastIndexOf('.') - ); connection.Open(); list = db.Fetch<T>(string.Format("select * from {0} ", name));
}
catch (Exception ex)
{
throw ex;
}
return list;
} /// <summary>
/// 删除对象
/// </summary>
/// <typeparam name="T">泛型对象</typeparam>
/// <param name="objData"></param>
/// <returns></returns>
public int Delete<T>(object objData)
{
var result = ;
try
{
var db = new Database(connection);
connection.Open();
result = db.Delete<T>(objData);
}
catch (Exception ex)
{
throw ex;
}
return result;
} /// <summary>
/// 添加一条记录
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="objData"></param>
/// <returns></returns>
public T Add<T>(object objData)
{
T result;
try
{
var db = new Database(connection);
connection.Open();
result = (T)Convert.ChangeType(db.Insert(objData), typeof(T));
}
catch (Exception ex)
{
throw ex;
}
return result;
}
}
}

PetaPoco与SQLite的更多相关文章

  1. 整理两个PetaPoco连接SQLite数据库的方法

    从https://github.com/qingask/PetaPoco.NetCore下载源文件压缩包 解压出文件PetaPoco.Multiple.cs.PetaPoco.NetCore.cs 放 ...

  2. mono for android中使用dapper或petapoco对sqlite进行数据操作

    在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...

  3. 【Xamarin挖墙脚系列:Mono项目的图标为啥叫Mono】

    因为发起人大Boss :Miguel de lcaza 是西班牙人,喜欢猴子.................就跟Hadoop的创始人的闺女喜欢大象一样...................... 历 ...

  4. 关于PetaPoco的T4模板使用

    PetaPoco是一款适用于.Net 和Mono的微小.快速.单文件的微型ORM.PetaPoco介绍:http://www.cnblogs.com/youring2/archive/2012/06/ ...

  5. PetaPoco轻量级ORM框架 - 入门安装

    PetaPoco 是一个开源轻量级ORM,够小,够快,单文件 在GitHub上有很高的人气 1377星,几年来作者一直在更新 当前版本6.0.317 - Netstandard 2.0(同时支持.ne ...

  6. C#/Sqlite-SQLite PetaPoco django 打造桌面程序

    为什么是 SQLite? 在以前的程序中, 我通常会使用 MySQL. 如果使用你程序的用户是一个软件小白, 而且远在另一个城市, 那么让她安装和部署 MySQL 将是一场噩梦: 她需要配置服务, 面 ...

  7. 微型ORM:PetaPoco 学习资料整理

    github地址:https://github.com/CollaboratingPlatypus/PetaPoco petapoco 实体中字段去掉关联(类似于EF中的NotMap) 微型ORM:P ...

  8. .NET Core ORM 类库Petapoco中对分页Page添加Order By对查询的影响

    最近一直在使用Petapoco+Entity Framework Core结合开发一套系统. 使用EFCore进行Code First编码,使用PMC命令生成数据库表的信息. 使用Petapoco进行 ...

  9. 【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】

    由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库 ...

随机推荐

  1. windows安装python运行环境使用pycharm

    pycharm下载地址: https://www.jetbrains.com/zh/pycharm/download/download-thanks.html 安装教程: https://blog.c ...

  2. C#--反射技术

    反射:反射为了动态(比如动态的加载dll,动态创建类型.动态调用方法等) 引用 using System.Reflection 原理: 一个类库编译后会生成一个以.dll结尾的文件,一个以.pdb结尾 ...

  3. python之model模块和包的介绍

    一,模块的概念:常见场景:一个模块就是一个包含了一组功能的Python文件,比如spam.py,模块名为spam,可以通过import spam使用 在Python中,模块的使用方式都是一样的,但其实 ...

  4. ansible随记

    先来看一下ansible架构图: 一.官网的语法简单介绍 #选择的主机组 - hosts: webservers #这个是变量   vars:     http_port: 80     max_cl ...

  5. CryptographyUtil盐加密

    import org.apache.shiro.crypto.hash.Md5Hash; /** * 加密工具 * @author Administrator * */ public class Cr ...

  6. Inspector视图中的get/set使用

    using UnityEngine; using System.Collections; public class Test : MonoBehaviour { public int width { ...

  7. box2d 易错

    1.动态刚体与一个与静态刚体重叠的小的感应刚体在contactBegin时,有些时候无法侦测到 2.bodyA.GetContactList()应用非动态刚体,会找不到另一非动态刚体的接触,非动态刚体 ...

  8. JQUERY伸缩导航

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. proxychains 安装

    一.安装下载源码: git clone https://github.com/rofl0r/proxychains-ng 编译和安装: cd proxychains-ng ./configure -- ...

  10. 新手C#SQL Server使用记录2018.08.10

    主键(PrimaryKey):主键就是每个数据行(记录)的唯一标识,不会有重复值的列(字段)才能当做主键.一个表可以没有主键,但是这样会很难处理表,因此一般情况表都要设置主键. 主键有两张选用策略,分 ...