【发布时间】:2010-12-08 09:45:34
【问题描述】:
映射文件:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="DaVinci"
namespace="DaVinci.Domain">
<class name="Waehrungskurs" table="WAEHRUNGSKURSE">
<id name="Id" column="ID">
<generator class="native" />
</id>
<property name="ISOCode" column="ISO" />
<property name="AktuellerKurs" column="AKTKURS" />
<property name="Kursart" column="KIND_OF_KURS" />
<property name="WährungstabkurseId" column="WAEHRUNGSTABKURSE_ID" />
<property name="Departure" column="DEPARTURE" />
<property name="Datum" column="DATE_TIME" />
<property name="RealerKurs" column="REALKURS" />
<property name="Gültig" column="GUELTIG" />
</class>
</hibernate-mapping>
Domain.cs:
...
公共虚拟双 AktuellerKurs { 得到;放; }
公共虚拟日期时间基准{获取;设置;}
公共虚拟日期时间 Gültig { 获取;放; }
公共虚拟 int Id { 获取;放; }
公共虚拟字符串 ISOCode { 获取;放; }
公共虚拟 int Kursart { 获取;放; }
公共虚拟双 RealerKurs { 得到;放; }
公共虚拟 int WährungstabkurseId { 获取;放; }
...
当我调用以下函数时,我得到一个 NHibernate.QueryException(“无法解析属性:Datum.Date:DaVinci.Domain.Waehrungskurs”):
public static Domain.Waehrungskurs GetByISOAndKursartAndDate(string isocode, int kursart, DateTime datum)
{
return (from WK in session.Linq<DaVinci.Domain.Waehrungskurs>()
where WK.ISOCode == isocode
&&
WK.Kursart == kursart
&&
WK.Datum.Date == datum.Date
orderby WK.Id descending
select WK).First();
}
当我删除搜索条件“WK.Datum.Date == datum.Date”时,该函数工作正常。
任何想法为什么找不到该属性?
【问题讨论】:
标签: linq nhibernate