之前用sql server时,用的PetaPoco作为ORM,用起来比较顺手。现在有个项目也需要配置数据库,因为要求较少,就选择了sqlite,按照和配置都比较简单。
下面就简单的描述一下,以便以后使用(脑子也没有之前好用了,感觉记下来会好些)。
首先用SQLite Expert Professional 创建了一个数据库,然后创建一个表名为Student。

在wpf中使用nuget添加petepoco,

在解决方案资源管理器会添加一个Models文件夹,

对应的app.config中配置如下:
<connectionStrings>
<add name="sqlite" connectionString="Data Source=|DataDirectory|Test.db;Pooling=true;FailIfMissing=false"
providerName="System.Data.SQLite" />
</connectionStrings>
Data Source=|DataDirectory|Test.db,好像只能放到bin的debug或者release下,放到别的目录怎么配置,还没有找到解决办法。
同时要注意在将SQLite.Interop.dll放到对应目录下,不然会报错。
在程序中创建一个类Student,加上特性[TableName("Student")] 和 [PrimaryKey("id")] 。
using PetaPoco;
namespace WPF_PetaPoco_sqlite
{
[TableName("Student")]
[PrimaryKey("id")]
public class Student
{
public int id { get; set; }
public string name { get; set; }
public int age { get; set; }
public string province { get; set; }
}
}
程序代码:
var db = new PetaPoco.Database("sqlite");
try
{
db.BeginTransaction();
Student student = new Student()
{
age = 16,
name = "li",
province = "jiangsu"
};
//插入
var rel = db.Insert(student);
//伊主键值查找
Student student2 = db.SingleOrDefault<Student>(3);
student2.age = 37;
//sql语句查找
var students = db.Query<Student>("Select * FROM Student WHERE province=@0", "shandong").ToList();
//更新
db.Update(student2);
db.CompleteTransaction();
}
catch (Exception ex)
{
}
结果如下:因为我手动删除了第7行,在生成的时候会跳过7,生成的Id为8

【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!