【问题标题】:Xamarin Forms Add List to SQL databaseXamarin Forms 将列表添加到 SQL 数据库
【发布时间】:2020-06-27 03:57:42
【问题描述】:

我有问题。我创建了以下类:

public class KnownDevice
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string IP { get; set; }
    public string MAC { get; set; }
    public string Type { get; set; }

    public List<TriangleRegistryObject> triangles { get; set; }
    public List<HexagonRegistryObject> hexagons { get; set; }
}

现在,我想在手机本身创建一个Database,所以我使用下面的代码来创建表:

database = DependencyService.Get<ISQLite>().GetConnection();
database.CreateTable<KnownDevice>();

但代码在第二行崩溃并出现错误:

System.NotSupportedException: '不知道 System.Collections.Generic.List`1

现在在互联网上我发现不允许将列表添加到数据库中,但我需要该列表中的数据,所以我不知道如何解决这个问题。该列表可以包含大约 25 行!

知道如何解决这个问题吗?

【问题讨论】:

标签: sqlite xamarin xamarin.forms xamarin.android xamarin.ios


【解决方案1】:

List&lt;TriangleRegistryObject&gt; 不是 SQLite 数据库值的有效类型。您的 List&lt;TriangleRegistryObject&gt; 类型与任何 clrType == typeof(XXXX) 语句都不匹配,因此您会遇到该异常。您需要重新考虑一下类结构才能像这样使用 SQLite-net。

有关 SQLite 数据库的更多详细信息,您可以从链接下载源文件以供参考。 https://docs.microsoft.com/zh-cn/samples/xamarin/xamarin-forms-samples/todo/

如果你想使用你可以使用 List,你可以使用 SQLite-Net Extensions 而不是 SQLite。

您可以参考链接。 SQLite-Net 扩展库直接指向数据库中的特定关系。 How can you store lists of objects in SQLite.net?

【讨论】:

  • 我已经阅读了,但我正在寻找一个遮阳篷。不是报价!
  • @wendy 你找到解决办法了吗?
猜你喜欢
  • 1970-01-01
  • 2013-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多