C# - 使用SQLite数据库(Entity Framework)

背景

最近项目上需要在C#的WPF程序上使用SQLite作为本地数据库使用,无奈本人才疏学浅,查阅网上N多资料后,不断的重复试验,终于连接上SQLite数据库了,真是喜大普奔啊!今晚应该加个鸡腿!

基本工作

  • 准备SQLite相关的安装包

    • 资源网站: SQLite官网下载合适的.NET Framework的SQLite包,有必要的话可能需要安装C++库,官网也有提供。官网链接:点我吧!
    • 注意:下载好的SQLite包中一定要包含 SQLite.Interop.dll
  • 新建一个WPF项目

    这里就不阐述如何创建一个WPF项目了。

  • 使用Nuge包下载需要的DLL库

    1571122495582.png
    C# - 使用SQLite数据库(Entity Framework)_第1张图片
    1571122471950.png
  • 配置App.config,配置数据库ConnectionString

    基本的节点按照如下配置基本可行,只需要替换DataSource源的位置即可!

    
    
      
        
        
  • 编写数据库实体类以及DbContext类

    此处我Cache.db存储了两张表,如图:

    C# - 使用SQLite数据库(Entity Framework)_第2张图片
    数据库图片
    • 新建实体类:

      [Table("tb_upload_status_info")]
          class UploadStatusInfo {
      
              [Key]
              [Column("id")]
              public int Id { set; get; }
      
              [Column("description")]
              public string Description { set; get; }
      //
      //        [Column("createTime")]
      //        public long? CreateTime;
      
          }
      
    • 新建DbContext的继承类

      class DatabaseContext : DbContext {
              public DbSet UploadStatusInfos { set; get; }
      }
      

      在这里,数据库初始化操作开始后会自动给UploadStatusInfos赋值。

  • 测试数据库的连接和效果

    现在开始编写一段测试代码:

    DatabaseContext ctx = new DatabaseContext();
    try {
        DbSet dataSet = ctx.UploadStatusInfos;
        var info = dataSet.Where((statusInfo => statusInfo.Id == 1)).ToList();
        MessageBox.Show(JsonFormatter.SerializeObject(info));
    } catch (Exception e) {
        MessageBox.Show(e.ToString());
    } finally {
        ctx.Dispose();
    }
    

    结果输出:


    C# - 使用SQLite数据库(Entity Framework)_第3张图片
    1571122946320.png

恭喜您,您已经学会如何使用SQLite数据库了!

你可能感兴趣的:(C# - 使用SQLite数据库(Entity Framework))