Xamarin.Forms SQLite异常-不了解<custom class =“”>

时间:2018-12-11 10:14:07

标签: c# sqlite xamarin xamarin.forms

我正在尝试在SQLite数据库中创建新的SQLite表。但是,每当我运行代码db.CreateTable<Set>();时,都会得到System.NotSupportedException。我查看了这些其他帖子:

Xamarin.Forms Sqlite-net NotSupportedException on ManyToOne relationship "Don't know about <model>" 不是我的问题。我只有using SQLite;(SQLite-net-pcl),删除后我在SQLiteConnection(dbPath)周围遇到错误。

SQLite doesn't know about class 也不是问题。 Set是公共的,不包含任何静态元素。

错误消息:

System.NotSupportedException: Don't know about App1.Models.Set

用于创建数据库的代码:

public static string dbPath = Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.Personal),
                "database.db3");

var db = new SQLiteConnection(dbPath);
            db.CreateTable<Set>();
            db.CreateTable<Card>();

设置课程:

using SQLite;

namespace App1.Models
{
    [Table("Set")]
    public class Set
    {
        [MaxLength(64)]
        public string name { get; set; }
        [PrimaryKey]
        public string code { get; set; }
        public int amount { get; set; }
        [MaxLength(24)]
        public string plane { get; set; }

        public Set(string _name, string _code, int _amount, string _plane)
        {
            name = _name;
            code = _code;
            amount = _amount;
            plane = _plane;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

重命名表格。 “ SET”是SQLite中的关键字。

您可以在此处找到SQLite中的所有关键字。 https://www.sqlite.org/lang_keywords.html