NHibernate Linq查询没有结果

时间:2013-04-04 10:20:13

标签: nhibernate linq-to-nhibernate

我在我的数据库中创建了一个包含5列的新视图。

此视图已通过NHibernate HBM文件映射:

<?xml version="1.0" encoding="utf-8"?>
  <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
    <class name="IDB.Core.Entities.vVirksomhederMedPRTROverGraenseVaerdierne,IDB.Core"     table="vVirksomhederMedPRTROverGraenseVaerdierne" lazy="false">
      <id name="Virksomhed_ID" column="Virksomhed_ID"/>
      <property type="string" name="CvrNavn" column="[CvrNavn]" />
      <property type="string" name="CvrPNavn" column="[CvrPNavn]" />
      <property type="int" name="Aar" column="[Aar]" />
      <property type="string" name="Kode" column="[Kode]" />
    </class>
 </hibernate-mapping>

沿着HBM文件,我还有一个C#类:

[Serializable]
public class vVirksomhederMedPRTROverGraenseVaerdierne : EntityWithSerializableId
{
    public virtual int Virksomhed_ID { get; set; }

    public virtual string CvrNavn { get; set; }

    public virtual string CvrPNavn { get; set; }

    public virtual int Aar { get; set; }

    public virtual int Kode { get; set; }
}

这与项目中的所有其他HBM文件和C#类非常相似。

现在的问题是,当我做这样的事情时:

public List<vVirksomhederMedPRTROverGraenseVaerdierne> GetVirksomhederOverGraenseVaerdier(int year)
{
   var result = from v in session.Linq<vVirksomhederMedPRTROverGraenseVaerdierne>()
   where v.Aar == year
   select v;
}

结果是空的??? 但是,如果我执行以下操作,则返回数据:

var query = session.CreateSQLQuery("SELECT * FROM vVirksomhederMedPRTROverGraenseVaerdierne where aar = " + aar);

我能忘记什么,因为我的linq表达式只产生空结果? 欢迎任何建议。

0 个答案:

没有答案