C# 从集合中提取后出错(System.Runtime.DurableInstance.InstancePersistenceCommandException)

C# 从集合中提取后出错(System.Runtime.DurableInstance.InstancePersistenceCommandException),c#,sql-server,workflow,workflow-foundation,C#,Sql Server,Workflow,Workflow Foundation,我正在尝试集成一个我刚刚用Git开发的collegue的WF应用程序。我已经设置了数据库“WF45GettingStartedTutorial”,如msdn教程所述。 当我尝试启动主机时,会收到以下错误消息: “{”SqlWorkflowInstanceStore的数据库版本为“4.0.0.0”。 InstancePersistenceCommand 'System.Activities.DurableInstance.CreateWorkflowOwnerWithidentialCommand

我正在尝试集成一个我刚刚用Git开发的collegue的WF应用程序。我已经设置了数据库“WF45GettingStartedTutorial”,如msdn教程所述。 当我尝试启动主机时,会收到以下错误消息:

“{”SqlWorkflowInstanceStore的数据库版本为“4.0.0.0”。 InstancePersistenceCommand 'System.Activities.DurableInstance.CreateWorkflowOwnerWithidentialCommand' 无法在此数据库版本上运行。请升级 数据库到“4.5.0.0”。“}”

当然,我已经在谷歌上搜索过了,并从msdn上尝试了以下内容:

正在“C:\Windows\Microsoft.NET\Framework\v4.0.30319\sql\en”中运行“SqlWorkflowInstanceStoreSchemaUpgrade.sql”。我在mssql 2012中的数据库“WF45GettingStartedTutorial”中执行了该sql文件。我的同事使用的是mssql 2008 R2,不知道这是否有什么不同,但我得到的消息是sql命令成功完成

虽然我已经运行了更新脚本,但在CommunicationHost中再次出现相同的错误。(我已刷新/更新了.edmx文件) 我的主机崩溃的线路:

WorkflowApplication.CreateDefaultInstanceOwner(store, null,   WorkflowIdentityFilter.Any);
有人知道如何解决这个问题吗?
为什么它在他的计算机上工作而在我的计算机上不工作?

新创建的数据库不适合用作WorkflowInstance存储;您需要创建它,填充模式,然后升级它

  • 您需要创建数据库

    创建数据库[WF45GettingStartedTutorial]

  • 打开SqlWorkflowInstanceStoreSchema.sql并对数据库运行它(使用WF45GettingStartedTutorial)

  • 打开并运行SqlWorkflowInstanceStoreSchemaUpgrade.sql

  • SQL文件将位于您的Windows.NET目录中,例如

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\SQL\en\