在以往開發中,必定要在vs中安裝SQLite for Universal App Platform以及一款wrapper,如SQLitePCL。如今有了EntitfyFramewrok Core,咱們能夠更方便的操做SQLite數據庫了。數據庫
Nuget包,EntityFramwork.SQLite和EntityFramework.Commands,目前是預覽版app
根據已有或者須要建立的數據表寫一個對應的modelide
[Table("Student")] public class StudentModel () { [Key] public int ID { get; set; } public string Name { get; set; } }
繼承DbContext寫一個上下文類,重寫OnConfiguring方法指明目標數據庫,屬性Students則對應數據庫中的學生表,還能夠重寫OnModelCreating,確立Map規則,也能夠像我同樣在model中用attributeui
class SchoolContext : DbContext { public DbSetStudents { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseSqlite("Filename=School.db"); } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); // modelBuilder.Entity ().Property( s => s.ID ).IsRequired(); } }
若是你尚未數據庫,那麼能夠在app運行時生成一個數據庫。在app.xaml.cs或者mainpage.xaml.cs中添加如下代碼便可,須要注意的是,只有app第一次運行時纔會建立數據庫文件,不用擔憂重複建立的問題。code
using (var db = new SchoolContext ()) { db.Database.Migrate(); }
若是你想使用已有的數據庫文件也能夠。在項目中添加相應的數據庫文件後,右鍵屬性設爲content和copy if newer/copy always。須要指出的是,EF會在LocalFolder而不是InstallLocation中尋找OnConfiguring裏設置的文件名,所以咱們須要先把數據文件從InstalledLocation複製到LocalFolder,再操做數據庫。orm
這裏就用添加一個學生數據爲例繼承
StudentModel stu = new StudentModel(); stu.ID = 1234; stu.Name = "Hello World"; var db = new SchoolContext (); db.Students.Add(stu); db.SaveChanges();
Happy Coding!開發