2

我正在使用Workflow Foundation 4和Entity Framework 4.1。管理Workflow Foundation 4中的ObjectContext 4

我使用ReceiveAndSendReply活动组来构建工作流。这对我来说很有意义,因为每组接收和发送回复活动都使用一个ObjectContext(或DbContext)。

我该如何管理ObjectContext?有没有活动只是为了这个,还是我需要手动管理它?

回答

0

最好不要在工作表中直接使用DbContext或ObjectContect。将这些放在工作流程扩展中,并让这些加载POCO为您加入。确保你只在你的工作表中使用POCO实体,并且它们被标记为可序列化。以另一种方式做它肯定会导致工作流持久性和长时间运行的工作流的问题。即使你现在不需要持久力,最好是为未来的发展做好准备。

+0

为什么不在工作流中使用DbContext?我明白,我不能指望使用从持久化反序列化的DbContext。我从来没有与POCO实体合作过,我真的可以用NOT来学习一个全新的微软事物,而不必学习WF4。 – 2011-05-23 17:40:07

+0

所有属于工作流状态的部分都需要可序列化,并且我非常确定DbContext不是。使用POCO并不困难,您甚至可以使用标准设计器并使用POCO生成模板。 – Maurice 2011-05-23 17:44:26

+0

我认为Maurice并不是指“在工作流程中不使用EF”。我认为他的意思是,“不要在你的XAML中引用它们。” (例如,作为工作流程变量)。在CodeActivity中使用EF(例如,应该没问题。 – 2011-05-23 18:21:20

1

不,这里没有内置活动。

我们通过自定义服务行为和GetExtension来完成,如this post

但要小心:如果您的工作流具有持久性点,隐式或显式,您不能指望上下文继续存在!

相关问题