首页 > 解决方案 > SQLiteExtensions 一对多与 GUID 主键

问题描述

我正在使用带有 sqlite-net-pcl 的 SQLiteNetExtensions。

我正在尝试将旧版 SQLite 数据库转换为新系统。我有存储为 16 字节 blob 的 GUID 的主键。

如果我尝试天真地使用 GUID 对象作为主键,我会收到 FormatException,因为库试图将 GUID 作为字符串读取。

我可以像这样加载单个对象:

[Ignore] public Guid Id { get; set; }


[Column("Id")]
public byte[] InternalId
{
    get => Id.ToByteArray();
    set => Id = new Guid(value);
}

但是,当我尝试使用多对一关系时,却找不到任何孩子。

有没有办法指定 GUID 的存储方式或其他方式来使用它?

标签: c#sqlitesqlite-net-extensionssqlite-net-pcl

解决方案


推荐阅读