如何避免NHibernate中的持久性和映射异常?

时间:2011-10-02 02:35:54

标签: nhibernate

所以我有以下代码:

try
{
    var config = new Configuration();
    config.Configure();
    config.AddAssembly(typeof(Address).Assembly);
    var factory = config.BuildSessionFactory();

    using (var session = factory.OpenSession())
    using (var xaction = session.BeginTransaction())
    {
        var address = createNewAddress();
        session.Save(address);
        xaction.Commit();
        var lastAddressID = address.AddressID;
    }
}

问题是,我正在使用NHibernate进行一些映射,当它遇到config.Configure()行时,如果我设置了EmbeddeAsResource选项,它会抛出“无法编译映射器”异常。很奇怪,对吧?

所以我切换到“内容”,这很有用。

然后它进入session.Save(地址)并抛出“No Persistance available”异常。

我已经在这个工作了几个小时,我的头在旋转。我很感激你能给予的任何帮助!

谢谢!

1 个答案:

答案 0 :(得分:0)

当你将它设置为'Content'时 - 它被NHibernate忽略,所以它没有加载 - 这使你在配置sessionfactory时没有问题 - 并且当你开始使用时也会给你'persister missing'异常( un)映射实体。

因此,我们需要查看您的映射 - 以及映射的类以帮助您进一步。