Я пытаюсь подключиться к существующей базе данных в oracle с помощью fluentmapping.
я получил
Картографирование CUstomer
public CustomerMapping()
{
Not.LazyLoad();
Id(x => x.Cst_Recid).GeneratedBy.Increment() ;
}
и я пытаюсь создать сеанс
public static ISessionFactory CreateSessionFactory()
{
return Fluently
.Configure()
.Database(OracleClientConfiguration.Oracle10.ConnectionString
("...."))
.Mappings(m =>
{
m.FluentMappings.AddFromAssemblyOf<CustomerMapping>();
})
.BuildConfiguration()
.BuildSessionFactory();
}
У меня есть пробный класс, чтобы попытаться создать sessionFactory
public class MyDataProvider
{
public static Customer GetCustomerById(long customerId)
{
ISessionFactory sessionFactory = SessionFactory.CreateSessionFactory();
ISession session = sessionFactory.OpenSession();
return session.Linq<Customer>().Where(x => x.Cst_Recid.Equals(temp)).FirstOrDefault();
}
}
Я не могу получить Клиента по Id, хотя я открываю сессию и активирую ...
тест очень прост - только для проверки выбранного действия
[Test]
public void CanGetCustomerById()
{
MyDataProvider provider = new MyDataProvider();
Assert.AreEqual(33941, MyDataProvider.GetCustomerById(33941).Cst_Recid);
}
есть ошибка -
TestCase '... DataLayer.Tests.CustomerMappingTests.CanGetCustomerById'
ошибка: NHibernate.ADOException: не удалось выполнить запрос
[Выбрать из * (SELECT this_.Cst_Recid, как Cst1_0_0_, this_.Cst_Customerid как Cst2_0_0_, this_.Cst_First_Name как Cst3_0_0_, this_.Cst_Group_Recid как Cst4_0_0_, this_.Cst_Insdbdt как Cst5_0_0_, this_.Cst_Insdbuser как Cst6_0_0_, this_.Cst_Joingroup_Dt, как Cst7_0_0_, this_. Cst_Last_Name в Cst8_0_0_, this_.Cst_Lastupddt как Cst9_0_0_, this_.Cst_Lastupduser как Cst10_0_0_, this_.Cst_Tat_Lakoach_Meshalem как Cst11_0_0_, this_.Cst_Typeid в Cst12_0_0_, this_.Cst_Tziyun_Meshalem_Rashi_Only как Cst13_0_0_, this_.Cst_Tziyun_Mizdamen как Cst14_0_0_ FROM "Клиент" this_ WHERE this_.Cst_Recid =: p0) где rownum <=: p1]
Позиционные параметры: # 0> 33941
[SQL: SELECT * FROM (SELECT this_.Cst_Recid в Cst1_0_0_, this_.Cst_Customerid как Cst2_0_0_, this_.Cst_First_Name как Cst3_0_0_, this_.Cst_Group_Recid как Cst4_0_0_, this_.Cst_Insdbdt как Cst5_0_0_, this_.Cst_Insdbuser как Cst6_0_0_, this_.Cst_Joingroup_Dt как Cst7_0_0_, this_.Cst_Last_Name в Cst8_0_0_, this_.Cst_Lastupddt как Cst9_0_0_, this_.Cst_Lastupduser как Cst10_0_0_, this_.Cst_Tat_Lakoach_Meshalem как Cst11_0_0_, this_.Cst_Typeid в Cst12_0_0_, this_.Cst_Tziyun_Meshalem_Rashi_Only как Cst13_0_0_, this_.Cst_Tziyun_Mizdamen как Cst14_0_0_ FROM "Клиент" this_ ГДЕ this_.Cst_Recid =: p0) где rownum <=: p1]
----> System.Data.OracleClient.OracleException: ORA-00942: таблица или представление не существует
запрос, который он пытается выполнить, автоматически создается FluentNHibernate. Если я удаляю цитаты, то запрос выполняется правильно, он получает результат. Проблема в том, что я не могу изменить запрос так, как я хочу. Возможно, проблема в том, что мы используем Oracle 11 g и FluentNhibernate, настроенные только для Oracle 9 или 10?
оценит любую помощь.