Найдено результатов: 13

Subsonic против NHibernate

Каково же общее мнение о том, когда следует использовать один из этих инструментов по отношению к другому? Я нахожу Subsonic очень полезным с точки зрения быстрого выполнения задач, но в больших проектах он имеет тенденцию не масштабироваться, и это связывает вашу модель домена с вашей моделью базы данных. Именно здесь появляется Nhibernate, поскольку он дает вам облегченные POCOs, которые не связаны с вашей моделью базы данных, но время настройки намного больше.

.net   nhibernate   orm   subsonic    

523   15   16:03, 1st July, 2020


Аудит данных в NHibernate и SqlServer

Я использую NHibernate в проекте, и мне нужно сделать аудит данных. Я нашел эту статью на codeproject, в которой обсуждается интерфейс IInterceptor.

Каков ваш предпочтительный способ аудита данных? Вы используете триггеры базы данных? Вы используете что-то похожее на то, что описано в статье?

sql-server   nhibernate   audit    

530   6   05:10, 9th August, 2020


ADO.NET рамках лица против NHibernate

Таким образом, платформа ADO.NET Entity Framework получила немного плохую прессу (в виде записей в блоге и петиции), но я не хочу спешить с суждением. Я ограничен во времени для экспериментов, но мне было интересно, работал ли кто-нибудь с ним еще с большей эмпирической обратной связью?

Наконец, каковы мысли об использовании NHibernate, который существует уже давно и может быть более зрелым, чем ADO.NET Entity Framework.

nhibernate   entity-framework   orm   ado.net    

439   1   20:03, 9th August, 2020


SQL 2008 поддержка диалектов для NHibernate

Кто-нибудь работает или знает, существует ли диалект SQL 2k8 для NHibernate?

nhibernate   sql-server-2008    

414   2   06:08, 26th August, 2020


ADO.NET рамках лица против NHibernate

Таким образом, платформа ADO.NET Entity Framework получила немного плохую прессу (в виде записей в блоге и петиции), но я не хочу спешить с суждением. Я ограничен во времени для экспериментов, но мне было интересно, работал ли кто-нибудь с ним еще с большей эмпирической обратной связью?

Наконец, каковы мысли об использовании NHibernate, который существует уже давно и может быть более зрелым, чем ADO.NET Entity Framework.

nhibernate   entity-framework   orm   ado.net    

437   1   00:46, 10th August, 2020


MSTest и NHibernate

Есть ли у кого-нибудь опыт получения MSTest для правильного копирования hibernate.cfg.xml в выходной каталог? Все мои MSTests терпят неудачу с ошибкой не могу найти hibernate.cfg.xml (у меня она установлена на копирование всегда), но мои MBUnit тесты проходят.

nhibernate   mstest   mbunit    

442   5   06:42, 12th August, 2020


(N) Hibernate Автосоединение

Я разрабатываю веб-приложение, используя NHibernate. Можете ли вы сказать мне, как написать запрос NHibernate для следующего запроса SQL:

SELECT v1.Id
FROM VIEW v1
LEFT JOIN VIEW v2 ON v1.SourceView = v2.Id
ORDER BY v1.Position

Это в основном автоматическое соединение, но я не знаю, как написать это в Nhibernate. Допустим, имена свойств совпадают с именами столбцов таблицы.

sql   nhibernate   orm    

494   1   10:30, 29th August, 2020


Windows Увеличение Объема Услуг CPU Потребление

На моей работе у меня есть сцепление из шести Windows services, за которое я отвечаю, написанное в C# 2003 году. Каждая из этих служб содержит таймер, который срабатывает каждую минуту или около того, где происходит большая часть их работы.

Моя проблема заключается в том, что по мере запуска этих служб они начинают потреблять все больше и больше времени CPU через каждую итерацию цикла, даже если для них нет никакой значимой работы (т. е. они просто бездельничают, просматривая базу данных для чего-то). Когда они запускаются, каждая служба использует в среднем (около) 2-3% из 4 CPUs, что нормально. Через 24 часа каждая служба будет потреблять весь процессор на протяжении всего цикла выполнения своего цикла.

Кто-нибудь может помочь? Я в недоумении, что может быть причиной этого. Наше текущее решение заключается в том, чтобы перезапускать сервисы один раз в день (они отключаются сами, затем скрипт видит, что они отключены, и перезапускает их примерно в 3 часа ночи). Но это не долгосрочное решение; меня беспокоит то, что, поскольку службы становятся более загруженными, перезапуска их один раз в день может быть недостаточно... но поскольку существует значительный штраф за запуск (все они используют NHibernate для доступа к данным), поскольку они становятся более загруженными, именно то, что мы не хотим делать, - это перезапускать их чаще.


@akmad: правда, это очень трудно.

  1. Да, служба, запущенная изолированно, будет показывать тот же симптом с течением времени.
  2. Нет, это не так, мы уже смотрели на это. Это может произойти в 10 утра, в 6 вечера или в середине ночи. Здесь нет никакой последовательности.
  3. Мы делаем это, а они делают. Службы делают именно то, что они должны делать, и ничего больше.
  4. К сожалению, это требует предвидения того, когда именно услуги будут исчерпаны CPUs, что происходит по непредсказуемому графику и никогда не бывает очень быстро... что делает вещи вдвойне трудными, потому что мой босс будет запускать и перезапускать их, когда у них начнутся проблемы, не думая о проблемах отладки.
  5. Нет, они используют довольно стабильное количество RAM (ок. 60-80MB каждый, из 4 ГБ на машине).

Хорошие предложения, но rest заверил, что мы перепробовали все обычные способы устранения неполадок. Я надеюсь, что это проблема .NET, о которой кто-то может знать, и мы сможем работать над ее решением. Решение моего босса (которое я категорически не хочу реализовывать) состоит в том, чтобы поместить поле в базу данных, которая содержит несколько раз для перезапуска служб в течение дня, чтобы он мог устранить проблему и не думать о ней. Я Отчаянно ищу причину реальной проблемы, чтобы исправить ее, потому что это решение станет катастрофой примерно через шесть месяцев.


Эллис: у каждого из них своя функция. Один читает записи из базы данных Oracle где-то за пределами объекта; другой обрабатывает эти записи и передает файлы, принадлежащие этим записям, в нашу систему; третий проверяет эти файлы, чтобы убедиться, что они такие, какими мы их ожидаем; другой-это Служба технического обслуживания, которая постоянно проверяет такие вещи, как дисковое пространство (которого у нас достаточно) и опрашивает другие серверы, чтобы убедиться, что они живы; один работает только для того, чтобы убедиться, что все эти другие работают и выполняют свою работу, отслеживает и сообщает об ошибках и перезапускает все, что не удалось сохранить всю систему это происходит 24 часа в сутки.

Итак, если вы спрашиваете то, что я думаю, что вы спрашиваете, нет, нет ни одной общей вещи, которую делают все эти службы (кроме доступа к базе данных через NHibernate), на которую я могу указать как на потенциальную проблему. К сожалению, если это окажется фактической проблемой (что меня не сильно удивит), все это может быть испорчено-и я в конечном итоге перепишу все из них в простой SQL. Я надеюсь, что это проблема сборщика мусора или что-то более легкое для решения, чем NHibernate.


@Joshdan: никакого секрета. Как я уже сказал, мы испробовали все обычные способы устранения неполадок. Профилирование было бесполезным: профилировщик, который мы используем, не мог указать на какой-либо код, который фактически выполнялся, когда использование CPU было высоким. Эти службы были разорваны около месяца назад в поисках этой проблемы. Каждый раздел кода был проанализирован, чтобы попытаться выяснить, был ли наш код проблемой; я здесь не спрашиваю, потому что я не сделал свою домашнюю работу. Если бы это был простой случай, когда службы выполняли больше работы, чем ожидалось, это было бы поймано.

Проблема здесь заключается в том, что в большинстве случаев службы вообще ничего не делают, но все же умудряются потреблять 25% или более из четырех ядер CPU: они не находят никакой работы, выходят из своего цикла и ждут следующей итерации. Это должно, в буквальном смысле, почти не занимать времени CPU вообще.

Вот пример поведения, которое мы наблюдаем на службе без работы в течение двух дней (в неизменной среде). Это было захвачено на прошлой неделе:

День 1, 8 утра: авг. CPU использование приблизительно 3%
День 1, 6 вечера: авг. CPU использование приблизительно 8%
День 2, 7 утра: авг. CPU использование приблизительно 20%
День 2, 11 утра: авг. CPU использование приблизительно 30%

Рассмотрев все возможные мирские причины этого, я задал этот вопрос здесь, потому что я полагал (правильно, как оказалось), что получу более новаторские ответы (как Убигути) или указатели на вещи, о которых я не думал (как предложение Яна).


Так же происходит и Спайк CPU непосредственно перед таймером обратный вызов, в пределах обратного вызова таймера, или сразу после таймера обратный звонок?

Вы меня неправильно поняли. Это не Спайк. Если бы это было так, то не было бы никаких проблем; я могу справиться со спайками. Но это не так... использование CPU в целом растет. Даже когда служба ничего не делает, ожидая следующего удара таймера. Когда сервис запускается, все идет хорошо и спокойно, и график выглядит так, как вы и ожидали... как правило, использование 0%, с шипами до 10%, когда NHibernate попадает в базу данных или сервис выполняет какой-то тривиальный объем работы. Но это увеличивает до across-the-board 25% (больше, если я позволю ему зайти слишком далеко) использование во все времена, пока процесс запущен.

Это сделало предложение Йена логичной серебряной пулей (NHibernate делает много вещей, когда вы не смотрите). Увы, я реализовал его решение, но оно не возымело эффекта (у меня нет доказательств этого, но я действительно думаю, что это ухудшило ситуацию... среднее использование, кажется , теперь растет намного быстрее). Обратите внимание, что удаление NHibernate "sections" (как вы рекомендуете) нецелесообразно, так как это было бы уберите около 90% кода в сервисе, что позволило бы мне исключить таймер как проблему (которую я абсолютно намерен попробовать), но не может помочь мне исключить NHibernate как проблему, потому что если NHibernate вызывает это, то хитроумное исправление, которое реализовано (см. ниже), просто должно стать способом работы системы; мы настолько зависим от NHibernate для этого проекта, что PM просто не примет, что это вызывает неразрешимую структурную проблему.

Я только что заметил в нем чувство отчаяния. вопрос -- что ваши проблемы продолжалось бы и дальше, если бы не маленькое чудо

Я не хочу, чтобы все так вышло. В настоящее время службы перезапускаются ежедневно (с возможностью ввода любого количества часов в день для их выключения и перезапуска), что исправляет проблему, но не может быть долгосрочным решением, как только они переходят на производственную машину и начинают загружаться. Проблемы не будут продолжаться, независимо от того, исправляю ли я их или PM поддерживает это ограничение на них. Очевидно, что я предпочел бы реализовать реальное исправление, но поскольку первоначальное тестирование не выявило никаких причин для этого, а службы уже были подробно рассмотрены, PM предпочел бы просто перезапустить их несколько раз, чем тратить больше времени на их исправление. Это полностью выходит из-под моего контроля и делает чудо, о котором вы говорили, более важным, чем оно было бы в противном случае.

Это чрезвычайно интригует (постольку как Вы доверяете своему профайлеру).

Я не. Но тогда это Windows services, написанные в .NET 1.1, запущенные на машине Windows 2000, развернутой хитрым сценарием Nant, использующим старую версию NHibernate для доступа к базе данных. На самом деле, я бы сказал, что мало чему доверяю на этой машине.

c#   nhibernate   windows-services   .net-1.1    

425   7   19:36, 25th August, 2020


NHibernate против LINQ до SQL

Как человек, который не использовал ни одну из этих технологий в реальных проектах, мне интересно, знает ли кто-нибудь, как эти две технологии дополняют друг друга и насколько их функциональные возможности пересекаются?

linq   nhibernate   linq-to-sql   orm    

542   9   15:01, 8th August, 2020


NHibernate 1.2 для 2.0 миграции

Какие существуют соображения для переноса приложения с NHibernate 1.2 на 2.0? Что такое критические изменения по сравнению с рекомендуемыми изменениями?

Есть ли проблемы с картографированием?

nhibernate    

385   2   23:02, 12th August, 2020


Можно ли использовать nHibernate с базой данных Paradox?

Можно ли настроить nHibernate для подключения к базе данных Paradox (*.db файлов)?

database   nhibernate   paradox    

394   1   10:59, 23rd August, 2020


Какие посоветуете средства аудита изменений данных в MSSQL?

Какие посоветуете средства для аудита изменений данных в MSSQL (нужно сохранять изменение всех полей), где связка mssql + NHibernate.

Из того что нашёл, это:

1. Повесить на тригеры в базу данных запись истории в таблицы с историей.

2. В самом NHibernate повесить обработчики в Interceptors или EventListeners и писать в таблицы с историей.

3. Использовать фичу 2008 MSSQL — Change Data Capture. Тут вопрос, стоит ли её для этого использовать, где-то читал «Основной сценарий, в котором предполагается использовать CDC — это „большие“ ETL (extraction, transformation, loading) приложения, которые асинхронно кусками перегоняют данные из OLTP системы в хранилище данных.»

Может есть готовые простые решения.



Какие посоветуете средства аудита изменений данных в MSSQL?

Какие посоветуете средства для аудита изменений данных в MSSQL (нужно сохранять изменение всех полей), где связка mssql + NHibernate.

Из того что нашёл, это:

1. Повесить на тригеры в базу данных запись истории в таблицы с историей.

2. В самом NHibernate повесить обработчики в Interceptors или EventListeners и писать в таблицы с историей.

3. Использовать фичу 2008 MSSQL — Change Data Capture. Тут вопрос, стоит ли её для этого использовать, где-то читал «Основной сценарий, в котором предполагается использовать CDC — это „большие“ ETL (extraction, transformation, loading) приложения, которые асинхронно кусками перегоняют данные из OLTP системы в хранилище данных.»

Может есть готовые простые решения.