No subject
Hi,
I might have found a bug but am unsure if it is a fluent bug or a nhibernate bug. For some reason mappings are generated for two properties but when they are accessed I get an exception saying they don't exist.
<property name="DeletedAt" type="System.Nullable`1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="deleted_at" not-null="false" />
</property>
<property name="DeletedBy" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="deleted_by" length="25" not-null="false" />
</property>
When the property is accessed I get the following exception:
could not resolve property: DeletedAt of: FakturaLight.Invoice
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: NHibernate.QueryException: could not resolve property: DeletedAt of: Invoice
Source Error:
Line 203: public void DeleteInvoice(int id)
Line 204: {
Line 205: var invoice = Work.CurrentSession.QueryOver()
Line 206: .Where(x => x.Id == id)
Line 207: .And(x => x.DeletedAt == null)
2 Posted by mikael on 13 Aug, 2010 07:01 PM
QueryException: could not resolve property: DeletedAt of: .Invoice]
NHibernate.Persister.Entity.AbstractPropertyMapping.ToType(String propertyName) in d:\CSharp\NH\nhibernate\src\NHibernate\Persister\Entity\AbstractPropertyMapping.cs:42 NHibernate.Persister.Entity.AbstractEntityPersister.GetSubclassPropertyTableNumber(String propertyPath) in d:\CSharp\NH\nhibernate\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:1775 NHibernate.Persister.Entity.BasicEntityPropertyMapping.ToColumns(String alias, String propertyName) in d:\CSharp\NH\nhibernate\src\NHibernate\Persister\Entity\BasicEntityPropertyMapping.cs:31 NHibernate.Persister.Entity.AbstractEntityPersister.ToColumns(String alias, String propertyName) in d:\CSharp\NH\nhibernate\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:1741 NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetColumns(String propertyName, ICriteria subcriteria) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Criteria\CriteriaQueryTranslator.cs:571 NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetColumnsUsingProjection(ICriteria subcriteria, String propertyName) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Criteria\CriteriaQueryTranslator.cs:542 NHibernate.Criterion.CriterionUtil.GetColumnNamesUsingPropertyName(ICriteriaQuery criteriaQuery, ICriteria criteria, String propertyName) in d:\CSharp\NH\nhibernate\src\NHibernate\Criterion\CriterionUtil.cs:64 NHibernate.Criterion.CriterionUtil.GetColumnNames(String propertyName, IProjection projection, ICriteriaQuery criteriaQuery, ICriteria criteria, IDictionary
2 enabledFilters) in d:\CSharp\NH\nhibernate\src\NHibernate\Criterion\CriterionUtil.cs:20 NHibernate.Criterion.NullExpression.ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery, IDictionary
2 enabledFilters) in d:\CSharp\NH\nhibernate\src\NHibernate\Criterion\NullExpression.cs:42 NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetWhereCondition(IDictionary2 enabledFilters) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Criteria\CriteriaQueryTranslator.cs:194 NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor(IOuterJoinLoadable persister, CriteriaQueryTranslator translator, ISessionFactoryImplementor factory, ICriteria criteria, String rootEntityName, IDictionary
2 enabledFilters) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Criteria\CriteriaJoinWalker.cs:53 NHibernate.Loader.Criteria.CriteriaLoader..ctor(IOuterJoinLoadable persister, ISessionFactoryImplementor factory, CriteriaImpl rootCriteria, String rootEntityName, IDictionary2 enabledFilters) in d:\CSharp\NH\nhibernate\src\NHibernate\Loader\Criteria\CriteriaLoader.cs:38 NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results) in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\SessionImpl.cs:1974 NHibernate.Impl.CriteriaImpl.List(IList results) in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\CriteriaImpl.cs:246 NHibernate.Impl.CriteriaImpl.List() in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\CriteriaImpl.cs:237 NHibernate.Impl.CriteriaImpl.UniqueResult() in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\CriteriaImpl.cs:398 NHibernate.Impl.CriteriaImpl.UniqueResult() in d:\CSharp\NH\nhibernate\src\NHibernate\Impl\CriteriaImpl.cs:263 NHibernate.Criterion.QueryOver
1.SingleOrDefault() in d:\CSharp\NH\nhibernate\src\NHibernate\Criterion\QueryOver.cs:67 NHibernate.Criterion.QueryOver1.NHibernate.IQueryOver<TRoot>.SingleOrDefault() in d:\CSharp\NH\nhibernate\src\NHibernate\Criterion\QueryOver.cs:180 Repositories.InvoiceRepository.DeleteInvoice(Int32 id) in D:\Projekt\\src\\Repositories\InvoiceRepository.cs:205 WebClient.Controllers.InvoiceController.Delete(Int32 id) in D:\Projekt\\src\.WebClient\Controllers\InvoiceController.cs:47 lambda_method(Closure , ControllerBase , Object[] ) +129 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, IDictionary2 parameters) +52 System.Web.Mvc.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a() +127 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func
1 continuation) +436 System.Web.Mvc.<>cDisplayClassf.bc() +61 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList1 filters, ActionDescriptor actionDescriptor, IDictionary
2 parameters) +305 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +830 System.Web.Mvc.Controller.ExecuteCore() +136 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +111 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +39 System.Web.Mvc.<>cDisplayClass8.b4() +65 System.Web.Mvc.Async.<>cDisplayClass1.b0() +44 System.Web.Mvc.Async.<>c__DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _) +42 System.Web.Mvc.Async.WrappedAsyncResult
1.End() +140 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +54 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +52 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +38 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8836913 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184Support Staff 3 Posted by James Gregory on 13 Aug, 2010 07:07 PM
That's weird, do you get the same results if you use a criteria or hql query instead of the queryover stuff?
4 Posted by mikael on 13 Aug, 2010 07:12 PM
Sorry James, I might have put that question wrong and I forgot about the
topic. Check the other forum instead :)
Mikael Henriksson
Tel: +46 (0) 730- 393 200
mikael@zoolutions.se
On Fri, Aug 13, 2010 at 9:09 PM, James Gregory <
tender+de299be212a919037c30b8d73961311cdadd0bf2c@tenderapp.com<tender%2Bde299be212a919037c30b8d73961311cdadd0bf2c@tenderapp.com>
> wrote: