System.Data.Linq.Mapping中的TableAttribute类与System.ComponentModel.DataAnnotations.Schema之间的差异

时间:2014-03-19 13:53:23

标签: c# linq entity-framework

我正在使用EF 6.1,我试图让一个简单的示例代码运行。
我不小心使用了命名空间System.Data.Linq.Mapping(VS Intellisense)来实现TableAttribute名称参数没有效果,代码在执行时创建了一个新表(因为POCO类名与表名不同)。但是,它有望使用和现有表。 经过几次谷歌搜索努力后,我注意到在某些地方使用了名称空间System.ComponentModel.DataAnnotation。当我进行此更改时,我的示例开始使用现有表而不是创建它。 我想知道

  • 这两个名称空间中的TableAttribute类有什么区别?

  • 为什么System.Data.Linq.Mapping中的TableAttribute不会产生预期的行为?

1 个答案:

答案 0 :(得分:4)

  • System.Data.Linq.Mapping.TableAttribute属于LINQ to Entities。
  • 实体框架使用System.ComponentModel.DataAnnotation.TableAttribute