我确定了一个关系模型对于数据库中的特定集合更有意义。问题是,领域模型最初是从嵌入式模型开始的,并且有大量的UI代码期望它以这种形式出现。更新数据库模式不是问题,但我很好奇是否有任何简单的方法可以将C#域对象重构为更老式的关系模型。我已经开始在版本1和版本2之间编写映射器(使用AutoMapper)(请参见下面的类),但它非常快速地变得杂乱无章。MongoDB:规范化存储到嵌入式域模型
下面是一些概述类似域模型的虚拟代码。
// Existing
class MyClass
{
List<Event> Events { get; set; }
List<Movie> Movies { get; set; }
}
// How it should have been modeled
class MyClass
{
List<int> Events { get; set; } // Stores Event IDs
List<int> Movies { get; set; } // Stores Movie IDs
}
该数据库将不得不进行标准化。如果我不得不重塑域模型,那很好;我只是想感到舒服,我已经耗尽了可能节省时间的其他可能性。有没有简单的解决方案,我忽略了这个问题?
这不是一个坏主意,我只是不想使用ORM来映射整个数据库中的一小块 - 特别是考虑到我们已经将C#MongoDB驱动程序用于其他任何事情。 – senfo