【发布时间】:2019-12-05 03:01:26
【问题描述】:
我正在编写一个 UWP 应用程序来与 SQLite 数据库交互。我实现了一个数据方案,用于在特定目录中创建新文件。
我发现的所有关于路径的信息都在下面的代码中。它在 %username%\AppData\Local...\Appname_t07g111c25az6\folder_defined_in_code 中创建文件。但我想在应用程序根文件夹(C:/Projects/AppName/src/Assets)中创建它。
Settings.cs
static public readonly string DatabasePath = "Database";
static public readonly string DatabaseName = $"{DB_NAME}.db";
static public readonly string DatabasePattern = $"{DB_NAME}.pattern.db";
static public readonly string DatabaseFileName = Path.Combine(DatabasePath, DatabaseName);
static public readonly string DatabasePatternFileName = Path.Combine(DatabasePath, DatabasePattern);
static public readonly string DatabaseUrl = $"{DB_BASEURI}/{DatabaseName}";
public readonly string SQLiteConnectionString = $"Data Source={DatabaseFileName}";
Startup.cs
private static async Task EnsureSQLiteDatabaseAsync()
{
var localFolder = ApplicationData.Current.LocalFolder; ;
var databaseFolder = await localFolder.CreateFolderAsync(AppSettings.DatabasePath, CreationCollisionOption.OpenIfExists);
if (await databaseFolder.TryGetItemAsync(AppSettings.DatabaseName) == null)
{
var sourceFile = await databaseFolder.GetFileAsync(AppSettings.DatabasePattern);
var targetFile = await databaseFolder.CreateFileAsync(AppSettings.DatabaseName, CreationCollisionOption.ReplaceExisting);
await sourceFile.CopyAndReplaceAsync(targetFile);
}
}
【问题讨论】: