【问题标题】:Spring.net + Nhibernate 3.2 mapping by codeSpring.net + Nhibernate 3.2 代码映射
【发布时间】:2014-04-02 14:03:09
【问题描述】:

我有一个 ASP.NET MVC 4 应用程序。它使用 Spring.net 和 Nhibernate 3.2。配置由 xml 文件完成。

最近我接触到了 Nhibernate 的 Mapping by code 新功能。我正在尝试在我当前的应用程序中实现它,因此将配置 ClassMapping 并据此更新方案。

我无法做到这一点,对我的 xml 配置进行了一些更改。

这是我的 NHibernate 配置

<object id="NHibernateSessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate32">
    <property name="MappingAssemblies">
      <list>
        <value>CM.Data.NHibernate</value>
      </list>
    </property>
    <property name="DbProvider" ref="DbProvider"/>

    <property name="HibernateProperties">
      <dictionary>
        <entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
        <entry key="dialect" value="NHibernate.Dialect.MsSql2008Dialect"/>
        <entry key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
        <entry key="hbm2ddl.auto" value="update"/>
        <entry key="hbm2ddl.keywords" value="auto-quote"/>
        <entry key="show_sql" value="true"/>
        <entry key="adonet.batch_size" value="0"/>
        <entry key="hibernate.current_session_context_class" value="Spring.Data.NHibernate.SpringSessionContext, Spring.Data.NHibernate32"/>
      </dictionary>
    </property>
    <property name="ExposeTransactionAwareSessionFactory" value="true" />
  </object>

示例映射类

namespace CM.Data.NHibernate
{
    public class DynamicEntityMap : ClassMapping<DynamicEntity>
    {
        public DynamicEntityMap()
        {
            Id(x => x.Id);
        }
    }

    public class DynamicEntity
    {
        public virtual int Id { get; set; }
    }
}

它似乎不起作用。未生成表。

我错过了什么吗?我正在考虑覆盖 LocalSessionFactoryObject ,因为它在下面的链接中为 FNH 完成。它对我也有用吗?我不确定它是否会破坏事务管理或其他什么。

请给我一些关于这个问题的见解。

在这种情况下最好的方法是什么?

Using Fluent NHibernate in Spring.Net

【问题讨论】:

  • 你想达到什么目的? “表未生成”是什么意思?
  • 我的意思是,我的数据库方案是根据映射更新的。

标签: c# spring-mvc nhibernate spring.net mapping-by-code


【解决方案1】:

Spring .Net 目前不支持你可以看到here

你可以试试Marijn implementation,这应该不会破坏任何东西。

【讨论】:

  • 感谢 jira 链接。我会尝试你提供的实现!
  • 有效!再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-17
  • 1970-01-01
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 2013-01-04
  • 1970-01-01
相关资源
最近更新 更多