Nhibernate抛出"无法解决财产异常"

时间:2016-04-02 15:55:44

标签: c# .net nhibernate

我有一个具有以下映射的实体程序。

References(c => c.Region).Column("FK_RegionId").Fetch.Join();
References(c => c.RequestType).Column("FK_RequestTypeId ").Fetch.Join();
References(c => c.CategoryCode).Column("FK_CategoryCodeId").Fetch.Join();
References(c => c.HouseHoldSize).Column("FK_HouseHoldSizeId").Fetch.Join();

我正在尝试使用以下Hibernate查询

return session.QueryOver<Program>().Where(x => x.Region.ID == fields.Region && x.RequestType.ID == fields.RequestType
            && x.HouseHoldSize.Size == fields.HouseholdSize).SingleOrDefault();

但它抛出异常,说它无法解析属性HouseHoldSize.Size。任何人都可以详细说明发生了什么......?在此先感谢:)

1 个答案:

答案 0 :(得分:1)

看起来你正试图在没有连接的情况下使用另一个实体的属性。如果您使用QueryOver,则必须使用联接。您可以使用linq提供程序执行此操作:

return session.Query<Program>().Where(x => x.Region.ID == fields.Region && x.RequestType.ID == fields.RequestType
        && x.HouseHoldSize.Size == fields.HouseholdSize).SingleOrDefault();

如果您想使用查询,请查看:

http://nhibernate.info/blog/2009/12/17/queryover-in-nh-3-0.html