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].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.


Reply via email to