我正在学习领域驱动设计(领域驱动设计)和存储库模式( C#)。我希望能够使用存储库模式来持久化一个实体,而不关心实际使用的是哪个数据库(Oracle、MySQL、MongoDB、RavenDB等)。但是,我不确定如何处理数据库特定的id:s most (all?)数据库使用。例如,RavenDB要求它应该存储的每个实体都有一个string类型的id属性。其他类型可能需要int类型的id属性。因为不同的数据库会有不同的处理方式,所以我不能让数据库id成为
我意识到我们不需要数据结构中的普通数据透视表,因为我们只需要选择关系的一端,并在那里放一个:db.cardinality/many属性(一定要对关系建模)。我在从sql转换时遇到的下一件事是一个数据透视表,它还存储了关系上的一个属性,例如: user_id int expires_at我注意到模式中有一些东西,我还不能理解它的原因,或者是适当的用法,比如复合元组、组件。不过,一种选择是将pivot提升到它自