为什么NHibernate不返回任何数据? [英] Why is NHibernate not returning any data?

查看:93
本文介绍了为什么NHibernate不返回任何数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在配置NHibernate以便在我的MVC 4应用程序中检索数据时遇到了一些问题.

I am having some problem configuring NHibernate to retrieve data in my MVC 4 application.

为简单起见,我已经在Index方法中配置了所有代码.

To keep things simple I have configured all code in the Index method.

以下是我的类别控制器的代码:

这是我在web.config中的配置:

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory name="NHibernate.Test">
      <property name="connection.driver_class">
        NHibernate.Driver.SqlClientDriver
      </property>
      <property name="connection.connection_string">
        Data Source=.;Initial Catalog=UsingNH;uid=myuid;Password=mypwd
      </property>
      <property name="adonet.batch_size">10</property>
      <property name="show_sql">true</property>
      <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
      <property name="use_outer_join">true</property>
      <property name="command_timeout">60</property>
      <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
      <property name="proxyfactory.factory_class">
        NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu
      </property>
    </session-factory>
  </hibernate-configuration>

类别的映射文件为

<?xml version="1.0" encoding="utf-8" ?> 

<hibernate-mapping xmlns="nhibernate-mapping-2.2" namespace="UsingNHibernate.Models" assembly="UsingNHibernate">
  <class name="Category" table="Categories" lazy="false">

    <id name="Id" columnId="Id" unsaved-value="0">
      <generator class="native" />
    </id>

    <property name="Name">
      <column name="Name" data-type="varchar(50)" not-null="true" />
    </property>

  </class>
</hibernate-mapping>

,类别表架构为

CREATE TABLE [dbo].[Categories](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [Name] [varchar](50) NOT NULL,
 CONSTRAINT [PK_Category] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)
) ON [PRIMARY]

问题在于程序可以编译并运行良好,但不返回任何类别.

The problem is that the program compiles and runs well but does not return any category.

代码

var lst = (List<Category>)criterion.List<Category>();

返回0个项目(已在调试器中验证).

returns 0 items (verified in debugger).

我的配置文件或映射文件有问题吗?

Is there any problem in my configuration or Mapping files?

如果需要其他信息,请发表评论.

Comment if additional info is required.

谢谢.

推荐答案

如果未定义任何映射,则nhibernate将简单地失败并在查询实体列表时返回一个空列表.

If no mappings are defined, nhibernate will simply fail silently and return an empty list if you query a list of entities.

我猜您不会将映射文件复制到bin目录中.标记要复制的映射文件(通过属性).

I guess you do not copy over the mapping files to your bin directory. Mark the mapping files to be copied (via properties).

这篇关于为什么NHibernate不返回任何数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆