where is the news? I don't understand http://nhforge.org/doc/nh/en/index.html#mapping-declaration-import
2009/11/18 Diego Mijelshon <[email protected]> > Thanks Germán! > That did the trick. > > Strange behavior in HQL, though. > It has to be an implementation detail (i.e. not easy to "guess" the type if > there are no references to it) > Fabio, is that it? > > Diego > > > > On Wed, Nov 18, 2009 at 16:25, Germán Schuager <[email protected]>wrote: > >> http://blog.schuager.com/2008/12/polymorphic-query-using-interfaces.html >> >> On Wed, Nov 18, 2009 at 4:20 PM, Diego Mijelshon >> <[email protected]>wrote: >> >>> According to the docs, querying on IFoo should return instances from all >>> the types that implement IFoo, even if there's no reference to IFoo in the >>> mappings. >>> >>> Here's what I'm trying to map: >>> >>> *public interface IFoo { int Foo { get; set; } }* >>> *public class X : IFoo { public virtual int Foo { get; set; } }* >>> *public class Y : IFoo { public virtual int Foo { get; set; } }* >>> * >>> * >>> *<class name="X">* >>> * **<id column="id" type="int">* >>> * **<generator class="identity"/>* >>> * **</id>* >>> * **<property name="Foo"/>* >>> *</class>* >>> *<class name="Y">* >>> * **<id column="id" type="int">* >>> * **<generator class="identity"/>* >>> * **</id>* >>> * **<property name="Foo"/>* >>> *</class>* >>> >>> But when I try to CreateQuery("from IFoo"), I get an exception: >>> >>> *Unhandled Exception: NHibernate.Hql.Ast.ANTLR.QuerySyntaxException: >>> IFoo is not mapped [from IFoo]* >>> * at >>> NHibernate.Hql.Ast.ANTLR.SessionFactoryHelperExtensions.RequireClassPersister(String >>> name)* >>> * at NHibernate.Hql.Ast.ANTLR.Tree.FromElementFactory.AddFromElement() >>> * >>> * at NHibernate.Hql.Ast.ANTLR.Tree.FromClause.AddFromElement(String >>> path, IASTNode alias)* >>> * at NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.CreateFromElement(String >>> path, IASTNode pathNode, IASTNode alias, IASTNode propertyFetch)* >>> * at NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.fromElement()* >>> * at NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.fromElementList()* >>> * at NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.fromClause()* >>> * at NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.unionedQuery()* >>> * at NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.query()* >>> * at NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.selectStatement()* >>> * at NHibernate.Hql.Ast.ANTLR.HqlSqlWalker.statement()* >>> * at NHibernate.Hql.Ast.ANTLR.HqlSqlTranslator.Translate()* >>> * at >>> NHibernate.Hql.Ast.ANTLR.QueryTranslatorImpl.Analyze(HqlParseEngine parser, >>> String collectionRole)* >>> * at >>> NHibernate.Hql.Ast.ANTLR.QueryTranslatorImpl.DoCompile(IDictionary`2 >>> replacements, Boolean shallow, String collectionRole)* >>> * at >>> NHibernate.Hql.Ast.ANTLR.QueryTranslatorImpl.Compile(IDictionary`2 >>> replacements, Boolean shallow)* >>> * at NHibernate.Engine.Query.HQLQueryPlan..ctor(String hql, String >>> collectionRole, Boolean shallow, IDictionary`2 enabledFilters, >>> ISessionFactoryImplementor factory)* >>> * at NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(String >>> queryString, Boolean shallow, IDictionary`2 enabledFilters)* >>> * at NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(String query, >>> Boolean shallow)* >>> * at NHibernate.Impl.AbstractSessionImpl.CreateQuery(String >>> queryString)* >>> >>> What am I doing wrong? >>> >>> Diego >>> >>> -- >>> 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]<nhusers%[email protected]> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/nhusers?hl=en. >>> >> >> -- >> 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]<nhusers%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/nhusers?hl=en. >> > > -- > 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]<nhusers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > -- Fabio Maulo -- 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=en.
