Я новичок в NHibernate и Fluent NHibernate, и я пытаюсь заставить работать следующую конфигурацию.
private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(
OracleDataClientConfiguration.Oracle10.ConnectionString("Data Source=mysource;User ID=myid;Password=mypwd;")
)
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<Program>())
.BuildSessionFactory();
}
У меня есть ссылка на сборку Oracle.DataAccess. Я использую VS 2010 и .Net 4
Я получаю следующее исключение:
FluentNHibernate.Cfg.FluentConfigurationException не обработан
Сообщение = неверная или неполная конфигурация была использована при создании SessionFactory. Проверьте коллекцию PotentialReasons и InnerException для более подробной информации.
Источник = FluentNHibernate
Трассировки стека:
в FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory () в d: \ Builds \ FluentNH \ src \ FluentNHibernate \ Cfg \ FluentConfiguration.cs: строка 98
в HibernateLearning.Program.CreateSessionFactory () в C: \ Projects \ Концепции тестирования CPS \ Main \ Source \ CPSTestConcepts \ Source \ HibernateLearning \ Program.cs: строка 48
в HibernateLearning.Program.Main (String [] args) в C: \ Projects \ CPS Test Concepts \ Main \ Source \ CPSTestConcepts \ Source \ HibernateLearning \ Program.cs: строка 21
в System.AppDomain._nExecuteAssembly (сборка RuntimeAssembly, аргументы String [])
в System.AppDomain.ExecuteAssembly (String assemblyFile, Evidence assemblySecurity, String [] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly ()
в System.Threading.ThreadHelper.ThreadStart_Context (состояние объекта)
в System.Threading.ExecutionContext.Run (ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта, логическое значение ignoreSyncCtx)
в System.Threading.ExecutionContext.Run (ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта)
в System.Threading.ThreadHelper.ThreadStart ()
InnerException: NHibernate.HibernateException
Сообщение = Не удалось создать драйвер из NHibernate.Driver.OracleDataClientDriver, NHibernate, Версия = 2.1.2.4000, Культура = нейтральный, PublicKeyToken = aa95f207798dfdb4.
Источник = NHibernate
Трассировки стека:
в NHibernate.Connection.ConnectionProvider.ConfigureDriver (настройки IDictionary 2 settings)
at NHibernate.Connection.ConnectionProvider.Configure(IDictionary
2)
в NHibernate.Connection.ConnectionProviderFactory.NewConnectionProvider (свойства IDictionary 2 settings)
at NHibernate.Cfg.SettingsFactory.BuildSettings(IDictionary
2)
в NHibernate.Cfg.Configuration.BuildSettings ()
в NHibernate.Cfg.Configuration.BuildSessionFactory ()
в FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory () в d: \ Builds \ FluentNH \ src \ FluentNHibernate \ Cfg \ FluentConfiguration.cs: строка 93
InnerException: System.Reflection.TargetInvocationException
Сообщение = Исключение было сгенерировано целью вызова.
Источник = mscorlib
Трассировки стека:
at System.RuntimeTypeHandle.CreateInstance (тип RuntimeType, логический publicOnly, логический noCheck, логический & canBeCached, RuntimeMethodHandleInternal & ctor, логический & bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow (логическое publicOnly, логическое skipCheckThis, логическое fillCache)
at System.RuntimeType.CreateInstanceDefaultCtor (логическое значение publicOnly, логическое значение skipVisibilityChecks, логическое значение skipCheckThis, логическое значение fillCache)
в System.Activator.CreateInstance (Тип тип, логическое не публичное)
в System.Activator.CreateInstance (Тип тип)
в NHibernate.Bytecode.ActivatorObjectsFactory.CreateInstance (Тип тип)
в NHibernate.Connection.ConnectionProvider.ConfigureDriver (настройки IDictionary`2)
InnerException: NHibernate.HibernateException
Сообщение = Реализация IDbCommand и IDbConnection в сборке Oracle.DataAccess не найдена. Убедитесь, что сборка Oracle.DataAccess находится в каталоге приложения или в глобальном кэше сборок. Если сборка находится в GAC, используйте элемент в файле конфигурации приложения, чтобы указать полное имя сборки.
Источник = NHibernate
Трассировки стека:в NHibernate.Driver.ReflectionBasedDriver..ctor (String driverAssemblyName, String connectionTypeName, String commandTypeName)
в NHibernate.Driver.OracleDataClientDriver..ctor ()
InnerException: