使用哪种类型的实体生成器?

时间:2011-07-20 12:01:54

标签: entity-framework

我正在编写我的第一个WPF和EF应用程序。我正在使用SQL CE数据库,我在数据库中添加了几个表。生成EF图,现在我想生成类。我是EF和MVVM的新手。

当我右键单击表格图时,它会提供“添加代码生成项目...”选项。选择它时,有两个选项:

添加实体对象生成器

添加自我跟踪实体对象生成器

我想知道两者之间有什么区别。我应该使用哪一个?我也想知道哪一个是最新的,什么是POCO?

3 个答案:

答案 0 :(得分:1)

POCO是一个普通的旧CLR对象......一个只有属性的简单类。

http://en.wikipedia.org/wiki/Plain_Old_CLR_Object

实体框架提供了3种方法。

  • 首先建模(在visual studio中创建模型并生成数据库)
  • 数据库优先(这就是你做的,你从现有数据库生成模型)
  • 代码优先(最新的代码,您只需编写POCOS,实体框架就会生成数据库)

我认为从数据库生成图表就足够了。在此之后应该可以使用上下文和模型。

答案 1 :(得分:1)

这些都不是POCO发电机。得到这个的最好方法是install Entity Framework 4.1。然后,您将在列表中看到一些新选项,以添加代码生成项。

我是4.1中添加的DbContext / POCO生成器的忠实粉丝,因为与旧版本相比,它创建的代码非常易于使用,并且它在DB First设置中运行良好,就像您正在使用(这也是我用的)。

答案 2 :(得分:0)

您可以尝试使用此代码生成器: http://salardbcodegenerator.codeplex.com/

它生成数据注释并为CodeFirst方法实现INotifyPropertyChanged。