我们有一个旧项目,最初是用 .NET 2.0 和 VS2005 编写的,最终在 VS2008 中编写。它使用 NHibernate 1.2 进行数据访问。作为我们升级的一部分,我们迁移到了 .NET 4.0 和 VS2010,但是我们在从 NHibernate 1.2 迁移到 3.3 时遇到了一些问题。
我们遇到的主要问题是查询一个表,该表上有一个链接。我们正在运行的查询如下:
IQuery query = base.Session.CreateSQLQuery("select t from Transaction t inner join Order o where TransactionDate >= ? && TransactionDate <= ? order by TransactionDate desc");
我们得到 2 个不同的错误:数据库中不存在 t.Transaction 或 t.Orders。我们知道这些表存在,我检查过多次,我知道那里有数据......
我已经看到了从 NHibernate 1.2 升级到 3.2 时需要注意的问题,它提到我们可能需要修改映射文件...但没有提到需要更改的内容...有什么看起来在我们的映射文件中告诉我们需要改变什么?我承认,这是我第一次在较低级别使用 NHibernate(实际上是在与 DB 对话)。到目前为止,所有数据库的东西都已经“完成”了......只是现在升级后才出现问题......