首页 文章

NHibernate&Linq - “无法解决 property 问题”

提问于
浏览
4

映射-文件:

<?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:
...
public virtual double AktuellerKurs {get;组; }
public virtual DateTime Datum {get;组;}
public virtualDateTimeGültig{get;组; }
public virtual int Id {get;组; }
公共虚拟字符串ISOCode {get;组; }
public virtual int Kursart {get;组; }
public virtual double RealerKurs {get;组; }
public virtualintWährungstabkurseId{get;组; }
...

当我调用以下函数时,我得到一个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”时,该功能正常 .

有什么想法找不到该 properties ?

2 回答

  • 1

    找不到日期时间的日期属性,因为它未实现 . 请为this class写一个补丁

  • 0

    该 properties 不在那里 .

    尝试更换: WK.Datum.Date == datum.Date

    WK.Datum == datum.Date
    

相关问题