SQLite Xamarin重复列ID问题

时间:2016-08-03 12:43:09

标签: android ios sqlite xamarin xamarin.forms

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上测试过。

1 个答案:

答案 0 :(得分:2)

感谢Gerald Versluis,解决方案是确保我的程序集不是全部链接,一旦切换然后链接到“仅SDK程序集”,问题就解决了。