У меня есть следующая настройка в тестовом приложении, которое я пытаюсь:
- ASP.MVC
- Замок ActiveRecord
- NHibernate Spatial
- PostGIS
Сначала я знаю, что это немного сложно, но вот в чем дело. У меня есть контроллер, который работает правильно, и у меня есть мои модели. Они живут в другом проекте, но в том же решении. Код для обоих доступен.
У меня есть простая пользовательская модель, которая, кстати, не имеет ничего пространственного. У меня есть одна модель, которая использует Point, но это представление и действие не работают с этими данными.
Это исключение:
NHibernateMappingException {"Вызываемый конструктор создает исключение."}
InnerEx: {"Столбец GeometryType был объявлен, но не настроен пространственный диалект"}
Похоже, что в первый раз, когда я отлаживаю (или первые несколько раз), я получаю исключение, говорящее мне, что я не могу найти никакого пространственного диалекта. Это странно Давайте посмотрим код:
Это мой метод запуска приложения:
protected void Application_Start()
{
Ignition.StartActiveRecord();
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
А это Ignition.StartActiveRecord:
public static void StartActiveRecord()
{
XmlConfigurationSource source = new XmlConfigurationSource(@"path.xml");
ActiveRecordStarter.Initialize(source, GetActiveRecordTypes());
foreach (Configuration cfg in ActiveRecordMediator.GetSessionFactoryHolder().GetAllConfigurations())
{
cfg.AddAuxiliaryDatabaseObject(new SpatialAuxiliaryDatabaseObject(cfg));
//Metadata.AddMapping(cfg, MetadataClass.GeometryColumn);
//Metadata.AddMapping(cfg, MetadataClass.SpatialReferenceSystem);
}
}
Мой веб-проект содержит ссылки на все необходимые библиотеки:
- NHibernate
- ActiveRecord
- NHibernate Spatial
- NHibernate Spatial (PostGIS)
Помощь !? это очень раздражает, и я не могу представить это в производственной среде!
Спасибо!