Ошибка SQLite.Net и SQLiteNetExtensions после обновления - отношения и первичные ключи

Я только что обновил все пакеты слепков SQLite в моем proj. Все операции с БД работали просто отлично.

Теперь, когда я попробую это: 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 пакеты установлены

1 ответ

Нашел вопрос для всех, кому нужно знать.

Атрибуты сущностей неоднозначны в пространствах имен SQLite и SQLite.Net.Attributes.

Атрибуты должны иметь префикс с пространством имен SQLite, а именно: [SQLite.PrimaryKey]

Надеюсь, что это поможет немного...

Другие вопросы по тегам