如何创建强类型实体

时间:2012-01-05 12:58:56

标签: entity-framework ef-code-first

阅读this blog post about Primitive Obsession我想知道:

  1. 如何使用Entity Framework Code First创建强类型实体? (特别是关于将这些强类型映射到SqlServer中的基本类型)

  2. 这有意义吗? (我从来没有在网上找到任何这种方法的示例/教程)

  3. 假设我们有一个带有强类型Zipcode属性as we can see here的Address实体/类。

1 个答案:

答案 0 :(得分:3)

根据评论编辑版本:

这很有道理,但你从来没有找到任何例子,因为首先不能直接使用EF代码。为什么呢?

  • 因为EF不支持没有默认构造函数的实体或复杂类型,并且它不能使用带参数的构造函数。
  • 由于EF不提供任何类型转换,因此EF必须直接映射到基本属性。
  • 因为EF不支持没有setter的属性。

作为一种解决方法,您可以使用私有setter和默认构造函数(可能它不必是公共的但我没有尝试这个)和带有参数和正确映射属性的构造函数(至少with EDMX it works) 。