2012-01-05 138 views

回答

3

根据评论编辑后的版本:

很有意义,但是你从来没有发现任何例子,因为它是不能直接与EF代码第一。为什么?

  • 因为EF不支持缺少构造函数的实体或复杂类型,也不能使用具有参数的构造函数。
  • 由于EF不提供任何类型转换,所以EF必须直接映射到原始属性。
  • 因为EF不支持没有setter的属性。

作为一种变通方法,您可以使用私人setter和两个默认构造函数(也许它没有被公开,但我没有尝试这个)以及构造带参数和正确映射特性(至少with EDMX it works)。

+0

因此,我从“_value”字段中删除了“readonly”关键字,并在Address类中为属性“Value”添加了一个私有集合,现在EF按预期映射。问题是,这种变化如何违背了原始痴迷的原始观念? – BrunoSalvino 2012-01-05 13:45:29

+0

因此它适用于私人setter和代码优先映射? – 2012-01-05 13:55:26

+0

是的,它工作。 – BrunoSalvino 2012-01-05 13:59:44

相关问题