Orchard CMS重复内容错误

时间:2016-07-28 19:41:00

标签: orchardcms orchardcms-1.8

我们有一个使用Orchard CMS v1.8构建的网站。我们有几个实例,管理内容的人无法保存对页面的更改。他们收到以下错误。

  

发生了未处理的异常,请求已终止。请刷新页面。如果错误仍然存​​在,请返回   Sequence包含多个匹配元素   System.InvalidOperationException:Sequence在C:\ Orchard \中的Orchard.ContentManagement.DefaultContentManager.BuildNewVersion(ContentItem existingContentItem)中的System.Linq.Enumerable.SingleOrDefault [TSource](IEnumerable 1 source, Func 2谓词)中包含多个匹配元素src \ Orchard \ ContentManagement \ DefaultContentManager.cs:Orchard.ContentManagement.DefaultContentManager.Get(Int32 id,VersionOptions options,QueryHints提示)中的第450行位于c:\ Orchard \ src \ Orchard \ ContentManagement \ DefaultContentManager.cs:第234行,位于Orchard System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod中的.Core.Contents.Controllers.AdminController.EditPOST(Int32 id,String returnUrl,Action 1 conditionallyPublish) in c:\Orchard\src\Orchard.Web\Core\Contents\Controllers\AdminController.cs:line 308 at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2个参数)(ControllerContext controllerContext,ActionDescriptor actionDescriptor,IDictionary 2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult 2 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocat上的System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)中的.CallEndDelegate(IAsyncResult asyncResult) system.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters中的ionWithFilters.b__3f()。在System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters。&lt;&gt; c__DisplayClass48.b__41()at。 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters&LT;&GT; c__DisplayClass48.b__41()

我可以做些什么来消除SingleOrDefault()调用中返回的额外记录?我不知道Orchard背后的数据库结构足以找到&#34;内容记录&#34;但如果我能找到它们,我可以删除额外的记录。

谢谢!

1 个答案:

答案 0 :(得分:2)

此错误的原因是您拥有多个版本的同一内容项且值为Latest = 1(果园使用此值来确定内容项的最新版本),要解决此问题,您可以运行以下命令查询以查找重复版本:

SELECT *
FROM Orchard_Framework_ContentItemVersionRecord
WHERE ContentItemRecord_id = @Id

然后确保只有一条值为Latest = 1的记录,published = 1Number按顺序排列,没有重复。

仅供参考,在查询中使用值Id作为有错误的内容项。