PetaPoco与SQLite
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的更多相关文章
- 整理两个PetaPoco连接SQLite数据库的方法
从https://github.com/qingask/PetaPoco.NetCore下载源文件压缩包 解压出文件PetaPoco.Multiple.cs.PetaPoco.NetCore.cs 放 ...
- mono for android中使用dapper或petapoco对sqlite进行数据操作
在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...
- 【Xamarin挖墙脚系列:Mono项目的图标为啥叫Mono】
因为发起人大Boss :Miguel de lcaza 是西班牙人,喜欢猴子.................就跟Hadoop的创始人的闺女喜欢大象一样...................... 历 ...
- 关于PetaPoco的T4模板使用
PetaPoco是一款适用于.Net 和Mono的微小.快速.单文件的微型ORM.PetaPoco介绍:http://www.cnblogs.com/youring2/archive/2012/06/ ...
- PetaPoco轻量级ORM框架 - 入门安装
PetaPoco 是一个开源轻量级ORM,够小,够快,单文件 在GitHub上有很高的人气 1377星,几年来作者一直在更新 当前版本6.0.317 - Netstandard 2.0(同时支持.ne ...
- C#/Sqlite-SQLite PetaPoco django 打造桌面程序
为什么是 SQLite? 在以前的程序中, 我通常会使用 MySQL. 如果使用你程序的用户是一个软件小白, 而且远在另一个城市, 那么让她安装和部署 MySQL 将是一场噩梦: 她需要配置服务, 面 ...
- 微型ORM:PetaPoco 学习资料整理
github地址:https://github.com/CollaboratingPlatypus/PetaPoco petapoco 实体中字段去掉关联(类似于EF中的NotMap) 微型ORM:P ...
- .NET Core ORM 类库Petapoco中对分页Page添加Order By对查询的影响
最近一直在使用Petapoco+Entity Framework Core结合开发一套系统. 使用EFCore进行Code First编码,使用PMC命令生成数据库表的信息. 使用Petapoco进行 ...
- 【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】
由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库 ...
随机推荐
- Python 中一个逗号引发的悲剧
遇到一个 Python 字符串的坑,记录一下.看看下面这些代码 >>> a = [ ... 'foo' ... 'bar', ... 'tree' ... ] >>> ...
- ASP.net显示当前系统在线人数
void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 Application.Lock(); if (Applic ...
- JS转义解码方法
之前只知道可以解决传值乱码问题,今天刚好看到,从新补充下: JavaScript中有三个可以对字符串编码的函数,分别是: 转义方法: escape();//函数可对字符串进行编码 encodeURI( ...
- Java实现邮箱发送
- Pycharm远程连接服务器(windows下远程修改服务器代码)
1.写在前面 之前一致用putty,ssh,修改代码,或者本地修改,上传到服务器,各种不爽,现在改用xshell,但是有时候还是不方便感觉,于是自己配置了远程连接pycharm,这样不用总是到 ...
- 如何在idea中导入本地所需要的jar包
今天遇到一个问题,在idea创建普通java工程时不知道如何导入jar包,上网差了一下,也算是一个整理.
- win32允许前置窗口
win32允许前置窗口函数 AllowSetForegroundWindow(HWND hWnd) 该函数允许其他窗口调用SetForegroundWindow()(将窗口设为前置窗口),前提是调用A ...
- Delphi笔记-自定义提示窗口
unit pbHint; interface uses Windows, Controls, Forms, Graphics; type TPBHint=class(THintWindow) //要自 ...
- redis lua 用来传输日志
2.8 Lua Script Redis2.6内置的Lua Script支持,可以在Redis的Server端一次过运行大量逻辑,就像存储过程一样,避免了海量中间数据在网路上的传输. Lua自称是在S ...
- docker 入門
http://dockone.io/article/277 我的碎碎念:Docker入门指南 [编者的话]之前曾经翻译过很多Docker入门介绍的文章,之所以再翻译这篇,是因为Anders的角度很独特 ...