/// <summary>
 /// 更新记事本数据库文件
 /// </summary>
 /// <param name="fileName"></param>
 private void NotepadUpdateDBFile(SQLiteConnection connection)
 {
     try
     {
         using (var context = new NotepadContext(connection, false))
         {
             var defaultVersionInfo = context.VersionInfo.Where(x => x.Key == "Default").FirstOrDefault();
             int version            = defaultVersionInfo.VersionNumber;
             int versionMax         = UpdateNotepadScript.Keys.Max();
             while (version < versionMax)
             {
                 version += 1;
                 if (UpdateNotepadScript.ContainsKey(version))
                 {
                     //更新表结构
                     context.Database.ExecuteSqlCommand(UpdateNotepadScript[version]);
                     //更新版本号
                     defaultVersionInfo.VersionNumber = version;
                     context.SaveChanges();
                 }
             }
         }
     }
     catch (Exception e)
     {
         var message = e.Message;
     }
 }
 public NotepadContext GetNotepadContext()
 {
     if (notepadContext == null)
     {
         var path       = basePath + "notepad.qnmd";
         var connection = new SQLiteConnection($"Data Source={path};");
         if (!File.Exists(path))
         {
             NotepadCreateDBFile(connection);
         }
         NotepadUpdateDBFile(connection);
         notepadContext = new NotepadContext(connection, false);
     }
     return(notepadContext);
 }
        /// <summary>
        /// 创建记事本数据库文件
        /// </summary>
        /// <param name="fileName"></param>
        private void NotepadCreateDBFile(SQLiteConnection connection)
        {
            try
            {
                using (var context = new NotepadContext(connection, false))
                {
                    Directory.CreateDirectory(basePath);
                    //SQLiteConnection.CreateFile(path + dbName);

                    //创建记事本表
                    context.Database.ExecuteSqlCommand(@"CREATE TABLE [NotepadInfo] (
                    [Id] nvarchar  PRIMARY KEY NOT NULL,
                    [NotepadContent] nvarchar  NOT NULL,
                    [CreateTime] datetime  NOT NULL );");

                    //创建数据库版本表
                    context.Database.ExecuteSqlCommand(@"CREATE TABLE [VersionInfo] (
                    [Key] nvarchar  PRIMARY KEY NOT NULL,
                    [VersionNumber] INTEGER  NOT NULL,
                    [CreateTime] datetime  NOT NULL );");

                    var info = new VersionInfo
                    {
                        Key           = "Default",
                        VersionNumber = 0,
                        CreateTime    = DateTime.Now
                    };
                    context.VersionInfo.Add(info);
                    context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                var message = e.Message;
            }
        }