Hello,

I'm not sure if this is the right spot to post this but here is the
issue I'm having with Linq to NHibernate.

I have a parent table and a child table and I'd like to do a query
like this:

var y = (from p in session.Linq<Parent>()
select new
                {
                        p.ColumnA,
                        Count = p.Childern.Count(c=> c.ColumnC == "blah"),
                }).ToList();

When this runs, I get this error:

NHibernate.QueryException was unhandled
  Message="could not resolve property: Childern.ChildId of:
LToNHTest.Parent"
  Source="NHibernate"
  StackTrace:
       at
NHibernate.Persister.Entity.AbstractPropertyMapping.GetColumns(String
propertyName)
       at NHibernate.Persister.Entity.AbstractPropertyMapping.ToColumns
(String alias, String propertyName)
       at
NHibernate.Persister.Entity.BasicEntityPropertyMapping.ToColumns
(String alias, String propertyName)
       at NHibernate.Persister.Entity.AbstractEntityPersister.ToColumns
(String alias, String propertyName)
       at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetColumns
(String propertyName, ICriteria subcriteria)
       at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetColumn
(ICriteria criteria, String propertyName)
       at NHibernate.Criterion.CountProjection.ToSqlString(ICriteria
criteria, Int32 position, ICriteriaQuery criteriaQuery, IDictionary`2
enabledFilters)
       at NHibernate.Criterion.ProjectionList.ToSqlString(ICriteria
criteria, Int32 loc, ICriteriaQuery criteriaQuery, IDictionary`2
enabledFilters)
       at NHibernate.Loader.Criteria.CriteriaQueryTranslator.GetSelect
(IDictionary`2 enabledFilters)
       at NHibernate.Loader.Criteria.CriteriaJoinWalker..ctor
(IOuterJoinLoadable persister, CriteriaQueryTranslator translator,
ISessionFactoryImplementor factory, ICriteria criteria, String
rootEntityName, IDictionary`2 enabledFilters)
       at NHibernate.Loader.Criteria.CriteriaLoader..ctor
(IOuterJoinLoadable persister, ISessionFactoryImplementor factory,
CriteriaImpl rootCriteria, String rootEntityName, IDictionary`2
enabledFilters)
       at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria,
IList results)
       at NHibernate.Impl.CriteriaImpl.List(IList results)
       at NHibernate.Impl.CriteriaImpl.List()
       at NHibernate.Linq.CriteriaResultReader`1.List() in C:\Work
\nhcontrib\trunk\src\NHibernate.Linq\src\NHibernate.Linq
\CriteriaResultReader.cs:line 21
       at
NHibernate.Linq.CriteriaResultReader`1.<GetEnumerator>d__0.MoveNext()
in C:\Work\nhcontrib\trunk\src\NHibernate.Linq\src\NHibernate.Linq
\CriteriaResultReader.cs:line 26
       at System.Collections.Generic.List`1..ctor(IEnumerable`1
collection)
       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       at LToNHTest.Program.Main(String[] args) in C:\Work\spikes
\ntoltest\LToNHTest\LToNHTest\Program.cs:line 29
       at System.AppDomain._nExecuteAssembly(Assembly assembly, String
[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
       at
Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object
state)
       at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException:


I believe my mapping is correct.  If I change count to:

Count = p.Childern.Count(),

The query works just fine.  I also tried Count = p.Childern.Where(c=>
c.ColumnC == "blah").Count(), and I get the same error.

I'm using the NHibernate 2.1.0, Fluent NHibernate 1.0 and the latest
version of Linq to NHibernate.

Any ideas?

Thanks!

-Matt

--

You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=.


Reply via email to