每种模板类型的用途,优点和缺点是什么?

Mas*_*low 5 orm entity-framework visual-studio-templates entity-framework-4

我几乎没有触及EF4,但我已经使用了Linq sql了很多.我想开始使用其中一个EF模板,但我不知道哪些情况对每个模板都有意义或者它们的意图是什么.

我有以下几种可能性:

  • 数据模板
    • ADO.NET实体数据模型
    • 基于服务的数据库(这甚至与EF有关吗?
  • 代码模板(我熟悉T4)
    • ADO.NET EntityObject Generator
    • ADO.NET自我跟踪实体生成器
  • 在线模板
    • ADO.NET C#POCO实体生成器

RPM*_*984 14

我不知道哪些情况对每个人都有意义或者他们的意图是什么

没意思听起来粗鲁,但你有没有看过MSDN/ASP.NET找出来?周围有很多信息.并有大量的每个的这些模板,超过我可以进入这里.每个都有一个MSDN页面.

话虽这么说,我会给你一个简短的总结,所以在这里绊倒的人有一些信息.

ADO.NET实体数据模型

这是您创建的用于将Entity Framework用作ORM的文件,并且必须使用EF.在使用其他任何一个之前,您需要这个.您可以使用多种不同的方法创建EDM,包括数据库优先(从数据库生成),代码优先,模型优先等.

基于服务的数据库

我从来没有听说过这个术语,并且考虑到我最近和EF一起工作(和阅读),我怀疑这与EF有关.

ADO.NET EntityObject Generator

为从EntityObject类继承的实体生成类.与默认EF代码生成器相同,除了将输出代码放入Model.edmx.designer.cs(默认)文件之外,代码将被放入单独的文件中.我个人认为这个模板没有任何好处.

ADO.NET自我跟踪实体生成器

当您想要开发N层应用程序时(例如,如果您希望允许WCF/Silverlight应用程序与您的模型一起使用),则为实体生成类.实体被EF Graph设置为"可跟踪",以便处理来自各种应用程序的持久性操作.

ADO.NET C#POCO实体生成器

我的最爱.:)为从无任何继承的实体生成类.他们不知道他们被用于坚持.当您需要域/持久层的持久性 - 无知性,可测试性和松散耦合时,将此用于应用程序.