相关疑难解决方法(0)

ADO.NET DbContext Generator与ADO.NET Poco实体生成器(ObjectContext)

我即将开始实现一个项目的数据访问基础设施,该项目采用DDD方法构建(这是我第一次尝试DDD,所以要温和;-)).

我将使用Entity Framework.到目前为止,我正在研究朱莉·勒曼(Julie Lerman)在她的伟大着作" 编程实体框架 "(Programming Entity Framework)中使用的方法,其中使用了ADO.NET POCO实体生成器,对T4模板和一些更多自定义代码进行了一些更改.
今天我开始使用Database First方法阅读有关EF4.1和ADO.NET DbContext Generator的文章,我正在尝试决定应该选择哪一个.

DbContext和EF4.1的DDD方法似乎比POCO实体更好,更清晰,但我担心它会在不久的将来导致一些问题,因为EF4.1仍然在RC中.

ADO.NET团队博客,我知道EF4.1 包括:

  • 枚举支持
  • 空间数据类型支持
  • Code First中的存储过程支持
  • Code First中的迁移支持
  • Code First中的可定制约定

根据我的理解,由于我将使用Database First,因此未包含的功能数量较少.

总之,我的问题是:
我可以用EF4.1 DbContext Generator 替换POCO实体生成器吗?

entity-framework entity-framework-4 entity-framework-4.1

58
推荐指数
1
解决办法
3万
查看次数

自我追踪实体的目的是什么?

我一直在阅读.net中的自跟踪实体以及如何从*.edmx文件生成它们.我正在努力理解的是生成这些实体的原因是什么让你了解基本的EF实体?此外,有些人提到了自我跟踪实体和Silverlight,但为什么要使用这些实体而不是客户端或RIA服务生成的共享类?

自我跟踪实体有什么意义,为什么要使用它们?

.net c# entity-framework self-tracking-entities

40
推荐指数
2
解决办法
2万
查看次数

自我跟踪实体与POCO实体

我们正在开始一个新的基于Web的产品,我们计划通过WCF服务公开我们的业务逻辑.我们将使用ASP.NET 4.0,C#,EF 4.0.将来我们希望基于这些服务构建iphone应用程序和WPF应用程序.我一直在阅读很多关于使用POCO和自我跟踪实体(STE)的内容,据我所知,STEs在网络方案中效果不佳.任何人都能更清楚地了解这个问题吗?

asp.net wcf poco entity-framework-4 self-tracking-entities

31
推荐指数
2
解决办法
1万
查看次数

对Entity Framework 4.1的生成器感到困惑

我正在针对遗留数据库评估项目的实体框架.数据库设计得相当好,已经决定我们将使用Database-First方法.该应用程序将基于WinForms,但我想提前计划并考虑ASP.Net以及管理层可能会在某些时候请求,我想重用DAL.

现在,我了解Entity Framework为实体对象提供了几种方法:

  • 从EntityObject派生的对象
  • POCO(ObjectContext)
  • POCO(DbContext)
  • 自我追踪实体(STE)

我一直试图比较这三种方法,到目前为止我已经发现了这一点.

EntityObject T4模板是其中最丰富的.例如,它将来自实体模型的注释放在每个类和实体的每个属性之上的XMLDoc注释中,这在代码可维护性方面相当不错且有用.没有其他生成器支持这种开箱即用(虽然我知道可以修改T4模板,但它显然需要一些工作).另一方面,DbContext API更好一些.

EntityObject派生类型提供了一个事件,您可以在实体的属性更改时挂钩,这对实现业务逻辑很有用.

我知道POCO对此更自然,但每次模型更改时,T4生成器都会覆盖我的所有更改.当然,生成的POCO是部分类,但据我所知,不可能覆盖已经在部分类中定义的属性,所以我不确定如何在其中实现业务逻辑?

很多人似乎讨厌EntityObject派生类,更喜欢POCO方法,但似乎我失去了许多由EntityObjects开箱即用的有用功能,通过POCO路由.考虑到对POCO对象的普遍强烈偏好,我可能会误解某些东西,因此我的问题.

最后,哪个生成器最适合ASP.Net环境?我担心我的实体更改会被停止跟踪?自我跟踪实体在这种情况下是否更有用,或者它们是否仅具有Web服务的价值(我可能不会使用它)?

提前谢谢了.

entity-framework

5
推荐指数
1
解决办法
2539
查看次数