0

我刚刚更新了我的项目中的所有 SQLite 块包。所有数据库操作都工作得很好。

现在,当我尝试这个时: items = db.GetAllWithChildren();

我收到此错误: Item.ItemEvents:OneToMany 关系来源必须具有主键

因此,代码没有任何变化,主键是字符串形式的 GUID 所有实体都继承自这样的基类:

    public class BusinessEntityBase : IBusinessEntity
{
    public BusinessEntityBase()
    {
        Id = Guid.NewGuid().ToString();
    }

    [PrimaryKey]
    public string Id { get; set; }
}

该错误是否意味着我不能/不应该从实现 Id 属性的基类继承?每个类都应该实现它自己的 Id 属性吗?

我只是问,因为所有这些属性/关系都是通过反射整理出来的,并且某些东西可能已经改变以否定我是如何构建实体层的......

不知道为什么我现在得到这个而不是在更新所有 SQLite 插件之前......

Thx SQLite 软件包已安装

4

1 回答 1

0

为任何需要知道的人找到问题。

实体属性在 SQLite 和 SQLite.Net.Attributes 命名空间中是不明确的。

属性需要以 SQLite 命名空间为前缀,即:[SQLite.PrimaryKey]

希望对一些人有所帮助...

于 2018-03-16T11:50:54.327 回答