Sqlite PetaPoco连接
作者:互联网
之前用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
标签:Sqlite,set,get,连接,db,PetaPoco,Student,public 来源: https://www.cnblogs.com/haozhangcool/p/11446099.html