2

我读过自我跟踪实体 (STE) 现已弃用,Microsoft 将不再投资于这些实体。

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

由于自我跟踪实体在其内部具有更改跟踪器代码,因此客户端代码可以轻松使用它们,并且很容易将更改实际推送回数据库。

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

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

4

1 回答 1

1

EF 5.x有STE Generator 模板,其信息页面显示:

我们不再建议在新应用程序中使用 STE 模板,它仍可用于支持现有应用程序。访问 N 层应用程序页面,了解我们为 N 层方案推荐的其他选项。

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

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

于 2013-01-10T08:20:30.280 回答