2010-11-06 108 views
0

我在從mvc 1移動到mvc 2時出現問題。 在我的舊項目中,我使用了Active Record。Castle ActiveRecordMediator Key not found

現在對新項目的運行,其中試圖從reposetory

 public T[] SlicedFindAll(int firstResult, int maxResult, DetachedCriteria criteria) 
    { 
     return ActiveRecordMediator<T>.SlicedFindAll(firstResult, maxResult, criteria); 
    } 

我recive錯誤獲取數據「給定的關鍵是不存在的字典。」

這是一個堆棧跟蹤:

[KeyNotFoundException:給定的鍵不存在在詞典] System.Collections.Generic.Dictionary 2.get_Item(TKey key) +9627953 NHibernate.Cfg.Mapping.GetPersistentClass(String className) +85 NHibernate.Cfg.Mapping.GetIdentifierType(String className) +66 NHibernate.Type.EntityType.GetIdentifierType(IMapping factory) +84 NHibernate.Type.EntityType.GetIdentifierOrUniqueKeyType(IMapping factory) +112 NHibernate.Type.ManyToOneType.GetColumnSpan(IMapping mapping) +66 NHibernate.Mapping.SimpleValue.IsValid(IMapping mapping) +96 NHibernate.Mapping.ToOne.IsValid(IMapping mapping) +144 NHibernate.Mapping.Property.IsValid(IMapping mapping) +80 NHibernate.Mapping.PersistentClass.Validate(IMapping mapping) +138 NHibernate.Mapping.RootClass.Validate(IMapping mapping) +68 NHibernate.Cfg.Configuration.ValidateEntities() +246 NHibernate.Cfg.Configuration.Validate() +44 NHibernate.Cfg.Configuration.BuildSessionFactory() +86 Castle.ActiveRecord.Framework.SessionFactoryHolder.GetSessionFactory(Type type) in d:\Dev\Out\castleproject-Castle.ActiveRecord-b0f7972\castleproject-Castle.ActiveRecord-b0f7972\src\Castle.ActiveRecord\Framework\SessionFactoryHolder.cs:135 Castle.ActiveRecord.Framework.SessionFactoryHolder.CreateScopeSession(Type type) in d:\Dev\Out\castleproject-Castle.ActiveRecord-b0f7972\castleproject-Castle.ActiveRecord-b0f7972\src\Castle.ActiveRecord\Framework\SessionFactoryHolder.cs:296 Castle.ActiveRecord.Framework.SessionFactoryHolder.CreateSession(Type type) in d:\Dev\Out\castleproject-Castle.ActiveRecord-b0f7972\castleproject-Castle.ActiveRecord-b0f7972\src\Castle.ActiveRecord\Framework\SessionFactoryHolder.cs:182 Castle.ActiveRecord.ActiveRecordBase.SlicedFindAll(Type targetType, Int32 firstResult, Int32 maxResults, Order[] orders, DetachedCriteria criteria) in d:\Dev\Out\castleproject-Castle.ActiveRecord-b0f7972\castleproject-Castle.ActiveRecord-b0f7972\src\Castle.ActiveRecord\Framework\ActiveRecordBase.cs:1420 Castle.ActiveRecord.ActiveRecordMediator.SlicedFindAll(Type targetType, Int32 firstResult, Int32 maxResults, Order[] orders, DetachedCriteria criteria) in d:\Dev\Out\castleproject-Castle.ActiveRecord-b0f7972\castleproject-Castle.ActiveRecord-b0f7972\src\Castle.ActiveRecord\Framework\ActiveRecordMediator.cs:185 Castle.ActiveRecord.ActiveRecordMediator 1.SlicedFindAll(的Int32 FIRSTRESULT,的Int32的maxResults,的DetachedCriteria標準,在d:\ Dev \ Out \ castleproject-Castle.ActiveRecord-b0f7972 \ castleproject-Castle.ActiveRecord-b0f7972 \ src \ Castle.ActiveRecord \ Framework \ ActiveRecordMediator.Generic.cs:241 Cameos.Core.Persistence .Repository 1.SlicedFindAll(Int32 firstResult, Int32 maxResult, DetachedCriteria criteria) in d:\Dev\MVC2\Cameos\src\Cameos.Core\Persistence\Repository.cs:96 Cameos.Core.Paging.PagedList 1..ctor(IRepository 1 repository, Int32 page, Int32 size, DetachedCriteria criteria) in d:\Dev\MVC2\Cameos\src\Cameos.Core\Paging\PagedList.cs:24 Cameos.Core.Paging.PagedList)1.在d:\ Dev \ MVC2 \ Cameos \ src \ C中創建(IRepository 1 repository, Int32 page, Int32 pageSize, DetachedCriteria criteria) in d:\Dev\MVC2\Cameos\src\Cameos.Core\Paging\PagedList.cs:13 Cameos.Core.Paging.PaginationHelpers.Paginate(IRepository 1 repository,Int32 startPage,Int32 pageSize,DetachedCriteria標準) ameos.Core \ Paging \ PaginationHelpers.cs:52 Cameos.Core.Paging.PaginationHelpers.Paginate(IRepository 1 repository, Int32 startPage, Int32 pageSize, Order order, ICriterion[] criteria) in d:\Dev\MVC2\Cameos\src\Cameos.Core\Paging\PaginationHelpers.cs:34 Cameos.Web.Areas.Admin.Controllers.CompanyController.Index(Nullable 1 page)in d:\ Dev \ MVC2 \ Cameos \ src \ Cameos.Web2 \ Areas \ Admin \ Controllers \ CompanyController .cs:26 lambda_method(Closure,ControllerBase,Object [])+145 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller,Object [] parameters)+51 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext,IDictionary 2 parameters) +409 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 parameters)+52 System.Web.Mvc。 <> C_ DisplayClassd.b _a()127 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter濾波器,ActionExecutingContext preContext,函數功能1 continuation) +436 System.Web.Mvc.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c() +61 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func 1續)436 System.Web.Mvc。 <> C_ DisplayClassf.b _c()61個 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext,IList的1 filters, ActionDescriptor actionDescriptor, IDictionary 2參數)305 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext,字符串actionName )+830 System.Web.Mvc.Controller.ExecuteCore()+136 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)+111 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController。執行(RequestContext requestContext)+39 System.Web.Mvc。 <> c_ DisplayClass8.b _4()+65 System.Web.Mvc.Async。 <> c_ DisplayClass1.b _0()+44 System.Web.Mvc.Async。 <> c__DisplayClass8 1.<BeginSynchronous>b__7(IAsyncResult _) +42 System.Web.Mvc.Async.WrappedAsyncResult 1.End()141 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult的asyncResult,對象標籤)54 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult的asyncResult,對象標記)40 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult的asyncResult)52 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult的結果)38 System.Web.CallHandlerExecutionStep.System。 Web.HttpApplication.IExecutionStep.Execute()8836913 System.Web.HttpApplication.ExecuteStep(IExecutionStep步驟,布爾& completedSynchronously)184

+0

你能提供導致錯誤的標準嗎? – 2010-11-06 05:24:31

+0

你似乎有一個配置錯誤[屬於] ...你可以發佈你的activerecord類嗎?另外,這與mvc – 2010-11-06 05:33:03

+0

無關。謝謝Mauricio我的腦袋懶得再次上課。我設置了錯誤的屬於 – Tomislav 2010-11-06 12:40:30

回答

1

甲配置錯誤。