流畅的nHibernate错误与Oracle的CreatingSessionFactory

时间:2010-07-20 08:55:49

标签: fluent-nhibernate

当我尝试BuildSessionFactory()时,我收到错误消息,说它无法找到以下组件:

无法从NHibernate.Driver.OracleDataClientDriver,NHibernate,Version = 2.1.2.4000

创建驱动程序

我在我的bin文件夹和本地文件中引用了Oracle.DataAccess版本4.11,我正在使用:

Oracle 10和 Visual Studio 2010 .NET 4

使用以下方法调用:

public static ISessionFactory CreateSessionFactory()
    {
        FluentConfiguration idk = Fluently
            .Configure()
            .Database(OracleDataClientConfiguration
                .Oracle9
                .UseReflectionOptimizer()
                .MaxFetchDepth(3)
                .AdoNetBatchSize(500)
                .ConnectionString(cs => cs
                .Server("Paul-PC")
                .Port(1521)
                .Instance("xe")
                .Username("xxxx")
                .Password("xxxx")
                .Pooling(true)
                .StatementCacheSize(100)
                .OtherOptions(
                "Min Pool Size=10;Incr Pool Size=5;Decr Pool Size=2;")
            )
            // It does this automatically.. but I like to be explicit ;)
            .ProxyFactoryFactory("NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle")
            .ShowSql()
            )
            .Mappings(m => m.FluentMappings.Add(typeof(PortalUserMap)));

        idk.ExposeConfiguration(BuildSchema);

        return idk.BuildSessionFactory();
    }

PortalUserMap类如下:

using System;

使用System.Collections.Generic; 使用System.Linq; 使用System.Text; 使用FluentNHibernate.Mapping; 使用Mobisoft.Portal.Security.Entities;

命名空间Mobisoft.Portal.Security.Mappings {     公共类PortalUserMap:ClassMap     {         公共PortalUserMap()         {             表( “PORTALUSER”);

        Id(x => x.Id, "ID").GeneratedBy.Identity();
        Map(x => x.Name, "NAME");
    }

}

请有人帮助我,我一直试图在网上找到答案两天了。

保罗。

2 个答案:

答案 0 :(得分:1)

Fluent NHibernate 1.1参考NHibernate 2.1.X,您需要在项目中引用流畅的NHibernate 1.2,然后才能将它与NHibernate 3.0.4或更高版本一起使用,我猜你正在使用它。 你可以在这里下载 http://fluentnhibernate.org/dls/v1.x/fluentnhibernate-NH3.0-binary-1.2.0.694.zip

答案 1 :(得分:0)

更新项目中对Oracle.DataAccess.dll的引用,将CopyLocal设置为True。