当创建包含原始类型集合并由EF Code First持久化的POCO类时,目前为止我发现的最佳建议是创建一个具有ID和ID的新类基本类型:实体框架代码第一个和原始类型的集合
Entity Framework and Models with Simple Arrays
如果我现在有需要ObservableCollection<string>
类型的属性,并与ObservableCollection<EntityString>
(其中EntityString
是一个ID和一个字符串属性自定义类型),我结束了一个替换它们几类表EntityString
具有多个外键列,每个属性类型为跨所有具有此类特性的混凝土类型的。
这会导致EntityString
表中大部分为空的外键列膨胀。
一种方法是创建EntityString
的子类,并使用Table per Type模型用于这些子类。但是,这需要对对象模型进行尴尬的改变,以适应实体框架。
问题:
- 是封装型管理
Collection<PrimitiveType>
的最佳方式? - 如果是这样,那么允许多个(许多)外键列与每个类型创建自定义表格(以一个尴尬模型为代价)的pro和con函数是什么?
该解决方案假定';' (或任何其他魔法字符被选中)对于基本字符串而言是无效的输入,是正确的? –
是否可以使用类属性来表示流畅配置'WithOptional'?我知道它们是彼此的替代品,但迄今为止尚未找到有关此主题的完整文档。 –
如果默认映射不会使关系成为可选项,则不能使用数据注释对其进行更改。数据注释必须放置在某个属性上,但在这种情况下,依赖实体中没有要使用的属性。 –