2010-11-06 56 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

甲配置错误。