2016-07-28 8 views
0

オーチャードCMS v1.8で構築されたWebサイトがあります。コンテンツを管理している人物がページの変更を保存できなかった例がいくつかあります。次のエラーが表示されます。オーチャードCMS重複コンテンツエラー

未処理の例外が発生し、要求が終了しました。ページを更新してください。エラーが続く場合は、 シーケンスに複数の一致する要素が含まれている System.InvalidOperationException:Orchard.ContentManagement.DefaultContentManagerのSystem.Linq.Enumerable.SingleOrDefault [TSource](IEnumerable 1 source, Func 2述語)で複数の要素がシーケンスに含まれています。 C:\ Orchard \ src \ Orchard \ ContentManagement \ DefaultContentManager.cs:Orchard.ContentManagement.DefaultContentManager.Get(int32 id、VersionOptionsオプション、QueryHintsヒント)の行450:c:\ Orchard \ src \ Orchard \ ContentManagement \ DefaultContentManager.cs:Orchard.Core.Controller.AdminController.EditPOSTの行234(System.Web.Mvc.ControlActionInvoker.InvokeActionMethod(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 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)のSystem.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3f()のSystem.Web.Mvc.Async.AsyncControllerActionInvokerの2.CallEndDelegate(IAsyncResult asyncResult) AsyncInvocationWithFilters。 <> System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFiltersのc__DisplayClass48.b__41()。 <> System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFiltersのc__DisplayClass48.b__41()。 <> c__DisplayClass48.b__41()

私は余分なレコード(複数可)elimiateために何を行うことができますがSingleOrDefault()の呼び出しで返されましたか?私はオーチャードの背後にあるデータベース構造を "コンテンツレコード"を見つけるのに十分に知っていませんが、もし私がそれらを見つけることができれば、余分なレコードを削除することができました。

ありがとうございます!

答えて

2

値がLatest = 1の同じコンテンツアイテムの複数のバージョンがあります(この値を使用して、コンテンツアイテムの最新バージョンを判別してください)。このエラーを解決するには、次のクエリを実行して重複したバージョン:

SELECT * 
FROM Orchard_Framework_ContentItemVersionRecord 
WHERE ContentItemRecord_id = @Id 

は、値Latest = 1published = 1を持つ1つのレコードのみが存在することを確認してください、とNumberは重複せずに順番にあります。

FYIのクエリでは、エラーが発生したコンテンツアイテムの値はIdです。

+0

この状態になる方法はありますか? Webサイトの管理者が何かをしているのか、Orchardにバグがあるのか​​はわかりません。 –

+1

多くの場合、複数の人が同じドラフト可能なコンテンツアイテムを同時に保存するとバグです。ほとんどの場合、オーチャードはそれを正しく処理しますが、ほとんどの場合、これはもっと役立ちます。 – mdameer

関連する問題