我有一个域模型,其中许多实体都有需要本地化的内容。例如,我们可能有一个 Product 实体,其中名称和描述需要多语言支持。许多其他实体也是如此。
现在这是我要实现的设计:
class LocalizedContent {
public Guid Id {get; set; }
public virtual ICollection<LocalizedContentEntry> Values {get; set;}
}
class LocalizedContentEntry {
public int Id {get; set; }
public Guid ContentId {get; set; }
public string Locale {get; set; }
public string Value {get; set; }
}
class Product {
public int Id {get; set; }
public LocalizedContent Name {get; set; }
public LocalizedContent Description {get; set; }
}
class OtherEntity {
public int Id {get; set; }
public LocalizedContent SomeColumn {get; set; }
}
我不喜欢的一件事是 LocalizedContent 的表将只有一列 (Id)。它的目的实际上是充当 LocalizedContentEntity 和其他表之间的桥梁。从 Db 的角度来看,我真正需要的是 LocalizedContentEntity 表。有没有办法在不创建一个列表的情况下映射这些实体?