使用 sqlite 创建 table 时如何避免包含 TypeInitializationException 的 AggregateException
How to avoid AggregateException that contains a TypeInitializationException when creating a table with sqlite
在我的数据库构造器中:
databasePath = GetPath(docsFolder);
connection = new SQLiteAsyncConnection(databasePath);
connection.CreateTableAsync<BO>().Wait();
数据库路径是
/data/user/0/com.companyname.AppName/files/fn.db3
(仅在此处过滤包名称)
但是创建 table 时会发生这种情况:
未处理的异常:
System.AggregateException: 出现一个或多个错误。
在 BO 中我已经删除了日期时间:
目前只有string和int是应用的类型。
public class BO
{
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public string From { get; set; }
public string To { get; set; }
public string Note { get; set; }
}
NuGet:
<package id="sqlite-net-pcl" version="1.4.118" targetFramework="portable45-net45+win8+wpa81" />
<package id="SQLitePCLRaw.bundle_green" version="1.1.5" targetFramework="portable45-net45+win8+wpa81" />
<package id="SQLitePCLRaw.core" version="1.1.5" targetFramework="portable45-net45+win8+wpa81" />
编辑:
在 AggregateException
中有一个 TypeInitializationException
,它在创建 table 时发生。但是SQLite.SQLiteConnection
在调试的时候被写成TypeInitializationException
的TypeName。
SQLiteAsyncConnection connection
在代码中明确定义。
是否缺少创建数据库文件的权限?
Android 项目中缺少 2 个包。
SQLitePCLRaw.lib.e_sqlite3.android
SQLitePCLRaw.provider.e_sqlite3.android
在我的数据库构造器中:
databasePath = GetPath(docsFolder);
connection = new SQLiteAsyncConnection(databasePath);
connection.CreateTableAsync<BO>().Wait();
数据库路径是 /data/user/0/com.companyname.AppName/files/fn.db3 (仅在此处过滤包名称)
但是创建 table 时会发生这种情况: 未处理的异常: System.AggregateException: 出现一个或多个错误。
在 BO 中我已经删除了日期时间: 目前只有string和int是应用的类型。
public class BO
{
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public string From { get; set; }
public string To { get; set; }
public string Note { get; set; }
}
NuGet:
<package id="sqlite-net-pcl" version="1.4.118" targetFramework="portable45-net45+win8+wpa81" />
<package id="SQLitePCLRaw.bundle_green" version="1.1.5" targetFramework="portable45-net45+win8+wpa81" />
<package id="SQLitePCLRaw.core" version="1.1.5" targetFramework="portable45-net45+win8+wpa81" />
编辑:
在 AggregateException
中有一个 TypeInitializationException
,它在创建 table 时发生。但是SQLite.SQLiteConnection
在调试的时候被写成TypeInitializationException
的TypeName。
SQLiteAsyncConnection connection
在代码中明确定义。
是否缺少创建数据库文件的权限?
Android 项目中缺少 2 个包。
SQLitePCLRaw.lib.e_sqlite3.android
SQLitePCLRaw.provider.e_sqlite3.android