如何在.NET核心中创建SQLite数据库文件?

时间:2017-09-06 21:25:23

标签: sqlite .net-core

使用System.Data.SQLite我会致电SqliteConnection.CreateFile

Microsoft.Data.Sqlite中的等效内容是什么?

2 个答案:

答案 0 :(得分:4)

找到System.Data.SQLite源代码。就是这样:

/// <summary>
/// Creates a database file.  This just creates a zero-byte file which SQLite
/// will turn into a database when the file is opened properly.
/// </summary>
/// <param name="databaseFileName">The file to create</param>
static public void CreateFile(string databaseFileName)
{
  FileStream fs = File.Create(databaseFileName);
  fs.Close();
}

答案 1 :(得分:1)

使用Microsoft.Data.Sqlite,通常会自动对其进行处理。

当您尝试使用以下代码中示例的简单连接字符串类型打开数据库时,将创建该数据库(如果不存在):

using (var connection = new SqliteConnection("Data Source=hello.db")) {
    connection.Open();  //  <== The database file is created here.

    // more code here that creates tables etc.

}

更具体地说,这只是创建一个空文件,当您在其中创建这些文件时,该文件将被表等填充。

但这全部取决于连接模式,可以在连接字符串中使用关键字“模式”指定连接模式。该关键字的默认值(即省略该关键字时)为“ ReadWriteCreate”,这意味着该数据库已打开以进行读取和写入,如果数据库不存在,则会创建该数据库。关键字“模式”的其他值没有效果。

有关更多信息,请参见Microsoft.Data.Sqlite - Connection strings