Castle ActiveRecord"无法编译映射文档:(字符串)"

Nic*_*ick 3 c# activerecord castle exception

嗨我在尝试初始化ActiveRecord时遇到异常,我无法弄清楚我错过了什么.我试图说服我工作的公司使用Castle ActiveRecord,如果我无法证明它是如何工作的话,它看起来不会很好.我之前在使用Castle ActiveRecord进行项目工作,之前我从未遇到过这个问题.

谢谢你的帮助

我得到的例外是

堆栈跟踪:

在Castle.ActiveRecord.ActiveRecordStarter.AddXmlToNHibernateCfg(ISessionFactoryHolder holder,ActiveRecordModelCollection模型)的Castle.ActiveRecord.ActiveRecordStarter.AddXmlString(配置配置,String xml,ActiveRecordModel模型)在Castle.ActiveRecord.ActiveRecordStarter.RegisterTypes(ISessionFactoryHolder holder,IConfigurationSource source,IEnumerable`) Castle.ActiveRecord.ActiveRecordStarter.Initialize(IConfigurationSource source,Type [] types)中的1种类型,Boolean ignoreProblematicTypes)位于C:\ Projects\CastleDemo\ConsoleApplication1\Program.cs中的ConsoleApplication1.Program.Main(String [] args):行System.Threading上的Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()处的System.AppDomain.ExecuteAssembly(String assemblyFile,Evidence assemblySecurity,String [] args)上的System.AppDomain._nExecuteAssembly(Assembly assembly,String [] args)中的20 System.Threading.ExecutionContext.Run中的.ThreadHelper.ThreadStart_Context(Object state)(ExecutionContext executionti)System.Threading.ThreadHelper.ThreadStart()上的onContext,ContextCallback回调,对象状态)

内在例外:

{"无法编译映射文档:(string)"}

以下是我的配置文件:

<add
    key="connection.driver_class"
    value="NHibernate.Driver.SqlClientDriver" />
<add
    key="dialect"
    value="NHibernate.Dialect.MsSql2000Dialect" />
<add
    key="connection.provider"
    value="NHibernate.Connection.DriverConnectionProvider" />
<add
    key="connection.connection_string"
    value="Data Source=SPIROS\SQLX;Initial Catalog=CastleDemo;Integrated Security=SSPI" />
<add
    key="proxyfactory.factory_class"
    value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" />
Run Code Online (Sandbox Code Playgroud)

这是运行初始化的主要方法:

    static void Main(string[] args)
    {
        //Configure ActiveRecord source
        XmlConfigurationSource source = new XmlConfigurationSource("../../config.xml");
        //

        //Initialazi ActiveRecord
        ActiveRecordStarter.Initialize( source, typeof(Product));
        //

        //Create Schema
        ActiveRecordStarter.CreateSchema();
        //
    }
Run Code Online (Sandbox Code Playgroud)

Nic*_*ick 5

好的..让它工作.

我所拥有的NHibernate版本要求在关键属性中具有"休眠"功能.

而不是这个:

<add 
    key="connection.driver_class"
    value="NHibernate.Driver.SqlClientDriver"/>
Run Code Online (Sandbox Code Playgroud)

这样做:

<add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />

对于较新版本的NHibernate,相反的工作原理.