从自我跟踪实体迁移到DBContext

时间:2013-01-09 22:51:13

标签: c# entity-framework persistence dbcontext self-tracking-entities

我读过自我跟踪实体(STE)现已弃用,微软不会再投资这些实体了。

我目前正在开发一个n层应用程序,其中客户端代码正在对WCF服务进行方法调用以获取自我跟踪实体。在我的客户端代码中没有DBContext这样的东西:它只处理实体本身。

由于自我跟踪实体本身具有更改跟踪代码,因此客户端代码可以轻松使用它们,并且可以轻松地将更改推送回数据库。

我已经尝试过EF4 DBContext Generator t4模板,但是它们会生成持久性无知实体,因此,我的客户端代码无法使用它们来跟踪STE的更改方式。

是否可以从这样的项目迁移到基于DBContext的项目,而无需重写大量的客户端代码以及WCF服务代码?

1 个答案:

答案 0 :(得分:1)

STE Generator template for EF 5.x,其信息页面显示:

  

我们不再建议在新应用程序中使用STE模板   继续可用于支持现有应用程序。访问   N-Tier Applications页面,我们推荐N-Tier的其他选项   场景。

这回答了你的问题。如果您想在不重写应用程序的情况下使用STE,则应使用模板和ObjectContext。从理论上讲,您可以使用DbContext,因为您可以从现有DbContext(通过构造函数)创建ObjectContext的新实例。我不确定它对STE有什么好处。

MS将WCF数据服务及其客户端上下文视为STE的替代。

相关问题