Sqlite PetaPoco连接

mac2022-06-30  82

之前用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

 

转载于:https://www.cnblogs.com/haozhangcool/p/11446099.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)