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

但要小心:如果您的工作流具有持久性點,隱式或顯式,您不能指望上下文繼續存在!

相關問題