我围绕 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。我遇到的问题是在不借助 ID 的情况下防止数据重复。
当使用 SQL Server 实现制造商之类的引用时,我的数据模型将包含一个唯一的 ID 字段,而我的Product
类又会被ManufacturerID弄脏。我想象使用像 db4o 这样的对象数据库会减少关系数据库和对象之间的阻抗不匹配,但是没有 ID,在编辑对象时就无法区分一个对象和另一个对象。
有没有一种优雅的方法可以在不复制数据的情况下在产品之间共享制造商?还是我应该只使用关系数据库?