Должен ли я использовать ссылки / обратные ссылки, предоставленные с ObjectBox или 4 плоскими файлами, чтобы иметь отношение «многие ко многим»?
Я прочитал документацию по объектному блоку для отношений "многие ко многим" https://docs.objectbox.io/relations
А также это решение для отношения "многие ко многим" в noSQL firebase Отношение " многие ко многим" в Firebase
В чем может быть проблема, если я выберу второй подход для всех отношений 1: N и M: N для моей автономной базы данных с использованием библиотеки Dart objectbox?
1 ответ
Таким образом, здесь у каждого заказа всегда будет дополнительный идентификатор клиента. Всякий раз, когда нам потребуется найти заказы для клиента, это будет происходить путем запроса заказов на идентификатор клиента.
Да, в этом есть смысл, вот как ObjectBox
ToOne
отношение фактически работает внутренне (оно хранит идентификатор).
Поэтому для максимального удобства использования ObjectBox вы можете определить свою модель следующим образом:
@Entity()
class Customer {
int? id;
}
@Entity()
class Orders {
int? id;
final customer = ToOne<Customer>();
}
Вы, конечно, можете сохранить простой идентификатор, но тогда вы не сможете использовать запрос
.link()
функция, чтобы сделать соединение. Запрос
link()
позволяет выполнять запросы по нескольким объектам, например, получать заказы для клиентов, соответствующих некоторым критериям (например, все заказы для клиентов из одного города, если вы сохранили адрес).