Ошибка 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...
1 ответ
Нашел вопрос для всех, кому нужно знать.
Атрибуты сущностей неоднозначны в пространствах имен SQLite и SQLite.Net.Attributes.
Атрибуты должны иметь префикс с пространством имен SQLite, а именно: [SQLite.PrimaryKey]
Надеюсь, что это поможет немного...