Я создал хороший слой хранилища вокруг базы данных db4o для хранения Product
объектов, которые относятся к Manufacturer
объектам в отношении один-ко-многим, то есть:
public class Manufacturer
{
public string Name { get; set; }
}
public class Product // simplified
{
public string Name { get; set; }
Manufacturer Manufacturer { get; set; }
}
Итакдалеко мне очень нравится db4o.Проблема, которую я имею, заключается в предотвращении дублирования данных без обращения к идентификаторам.
При реализации ссылок, таких как производители, использующих SQL Server, мои модели данных будут содержать уникальное поле идентификатора, и, в свою очередь, мой класс Product
будет загрязненс ManufacturerID .Я предполагал, что использование объектной базы данных, такой как db4o, уменьшит несоответствие импеданса между реляционной БД и объектами, но без идентификаторов невозможно отличить один объект от другого при его редактировании.
Существует ли элегантный способразделить производителя между продуктами без дублирования данных?Или мне просто использовать реляционную БД?