var path = System.IO.Path.Combine (App.DEVICE_LOCAL_FOLDER, "database.db3");
_database = new SQLiteAsyncConnection (path);
_database.CreateTableAsync<Setting> ().Wait ();
_database.CreateTableAsync<Authentication> ().Wait ();
此代码在我的Xamarin.Forms应用程序的App Startup上执行,每次我的应用程序启动时,我都会收到“Message”重复的列名:setting_id“string”。我擦除了调试设备并从头开始启动,以确保没有创建重复的表或类似的东西。我的“设置”模型看起来像这样。
using SQLite;
namespace namespace
{
public class Setting
{
[PrimaryKey, AutoIncrement]
public int setting_id { get; set; }
public string field1 { get; set; } =
"";
public string field2 { get; set; } = "";
public string emailOne { get; set; } = "";
public string emailTwo { get; set; } = "";
public string field3 { get; set; } = "";
public string field4 { get; set; } = "";
public Setting ()
{
}
}
}
使用Xamarin.Forms版本2.2.0.45和sqlite-net-pcl版本1.1.2。目前我只在iOS上进行了测试,它总是在应用启动时崩溃,尚未在Android上测试过。
答案 0 :(得分:2)
感谢Gerald Versluis,解决方案是确保我的程序集不是全部链接,一旦切换然后链接到“仅SDK程序集”,问题就解决了。