powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
19 сообщений из 69, страница 3 из 3
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36711200
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

О!!! Это уже интереснее! Чувствую, что я Вас так просто не отпущу! ;)

Тогда как нужно заполнять данные для списков выбора? Я пользуюсь кодом из примера:
Код: plaintext
ViewData["Statuses"] = new SelectList(_dataManager.Status.GetStatuses(), "ID_STATUS", "NAME", t.STATUS_ID);
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36711232
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Биндить данные для комбобоксов нужно так, как это делают всегда. Когда набор сущностей прибиндился, то декларативно заюзать аттрибут парентовой (референсной) сущности можно так, как я показал в прошлом посте. Экспериментируйте.
P.S. Толко Вы должны понимать, что при бинде каждой сущности в комбобоксе будет происходить Lazy запрос на сервер.
P.S2. В плане отпимизации исполняемого SQL кода за такой подход обычно отрезают нижнюю челюсть. Поэтому, планируйте подобные выборки средствами серверных представлений, функций и/или хранимых процедур.
P.S3. ORM универсальный инструмент, а не оптимальный. Нужно это помнить.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712401
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
P.S. Но, вообще, лично я бы рекомендовал хибер под оракуль.

Спасибо за рекомендацию! К сожалению в ORM под NET с оракулем не разбежишься...
Но Вы в курсе, что хибер не работает в полной мере с ораклевыми ХП? :(
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712446
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльНо Вы в курсе, что хибер не работает в полной мере с ораклевыми ХП? :(
Смотря что понимать под "полной мерой" ;)
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712470
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУКурдльНо Вы в курсе, что хибер не работает в полной мере с ораклевыми ХП? :(
Смотря что понимать под "полной мерой" ;)

Это надо понимать так: "позволяет исполнять любые валидные хранимые процедуры и функции оракла, корректно передавая значения входных параметров и получая правильные значения выходных параметров и результатов функций".
Как-то так...
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712500
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльЭто надо понимать так: "позволяет исполнять любые валидные хранимые процедуры и функции оракла, корректно передавая значения входных параметров и получая правильные значения выходных параметров и результатов функций".
Как-то так...
И в чем именно выражается отказ оракулевых процедур и функций от правильной работы?
P.S. Как-то Вы пальцем в небо... Конкретнее нужно, конкретнее. Агрументы нынче в цене.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712533
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
И в чем именно выражается отказ оракулевых процедур и функций от правильной работы?
P.S. Как-то Вы пальцем в небо... Конкретнее нужно, конкретнее. Агрументы нынче в цене.

С функциями Nhibernate работает лишь через "select FUNCTION_1(:PARAM_1) as :RESULT_1 from dual"
Кроме того, и в функциях и в процедурах Nhibernate не понимает OUT параметров, только если это не REF CURSOR.
А Fluent Nhibernate - и того меньше :(
Приходится комбинировать с хбм...
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712575
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльС функциями Nhibernate работает лишь через "select FUNCTION_1(:PARAM_1) as :RESULT_1 from dual"
Кто Вам такие глупости рассказал?


КурдльКроме того, и в функциях и в процедурах Nhibernate не понимает OUT параметров, только если это не REF CURSOR.

Код: plaintext
1.
2.
<sql-query name="MyPackageTestSp"> 
    call call MyPackage.Test(:result, :id) 
</sql-query> 

тут
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712578
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут показана педаль под вызов процы вне пакета.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712613
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Вы сами-то попробовали хоть раз исполнить то, куда меня носом тычете? ;)
Или быстренько нагуглили "по ключевым словам"?
Из приведенных Вами примеров с функцией один использует "select scalartest.getnumberofrows as TotalRows from dual" (как я и говорил постом ранее), а другой - требует получения IDbCommand (что перечеркивает все достоинства Nhibernate).
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712698
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
ОБЕЩАЮ ПРИЗНАТЬ СЕБЯ ДЯТЛОМ, А ВАС - ВЕЛИКИМ ГУРУ
причем не в этой ветке, а заглавной темой на форуме, если Вы подыщете вариант вызова ХП и функций оракла с OUT-параметрами без использования IDBConnection.
Для меня это не вопрос досужего спора, а вариант решения проблемы в проекте.

Мне нужен простенький пример, содержащий скрипт функции типа
FUNCTION CheckPassword(Login_ IN EMPLOYEES.Login%TYPE, Password_ IN Varchar2, ID_Employee_ OUT EMPLOYEES.ID_Employee%TYPE) RETURN VARCHAR2 ...

Nhibernate мэппинг (причем не важно, какого типа - хбм или флюент)
Код C# вызова такой процедуры (да хоть VB.NET), чтобы корректно передать IN параметры, получить OUT-параметр и результат.

Заранее благодарен!
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712748
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльИз приведенных Вами примеров с функцией один использует "select scalartest.getnumberofrows as TotalRows from dual" (как я и говорил постом ранее)
Это просто пример. Никто не запрещает юзать недуальность.
Курдльа другой - требует получения IDbCommand (что перечеркивает все достоинства Nhibernate).
Почему перечеркивает?
Курдльесли Вы подыщете вариант вызова ХП и функций оракла с OUT-параметрами без использования IDBConnection.
Мне обычно плевать на признания :) Это работает и славно. Остальное втопку.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712788
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПочему перечеркивает? ... Это работает и славно. Остальное втопку.

Когда выбираешь технологию для проекта - взвешиваешь все "за" и "против".
Одним из крупных "за" Nhibernate декларировалась "независимость от СУБД".
А оказывается, что это не так.
Подход, при котором приходится танцевать с бубном, перечеркивает это достоинство.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712854
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльОдним из крупных "за" Nhibernate декларировалась "независимость от СУБД".
А оказывается, что это не так.
Глупости. Всё крутится на основе провайдеров к БД. Если провайдер может работать с какими-то специфическими фичами СУБД, значит и хибер сможет. Я Вам привел пример кастома провайдера, но Вы смотрите не в корень, а на поверхность (увидели дуал и начали вопить, что я левый пример дал).
КурдльПодход, при котором приходится танцевать с бубном, перечеркивает это достоинство.
IDBConnection - это танец с бубном? Тогда, батенька, Вам не в программисты, а в сельское хозяйство.
P.S. Для каких-то ветвей решения можно заюзать и IDBConnection, ничего предсудительного тут нет.
P.S2. Тоже самое и в других ORM, например в Linq to SQL. Возьмем классическую задачу: удаление сущности по ID (без лишнего перезапроса).

Custom context
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
using System;
using System.Linq;
using System.Data.Common;
using System.Collections.Generic;

namespace ...
{
    public class EventsContext : EventsDataContext
    {
        public EventsContext()
            : base(System.Configuration.ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString)
        {
        }

        public int Delete<T>(IEnumerable<T> entities)
        {
            DbCommand command = this.GetCommand(entities.AsQueryable());
            string s = this.GetCommand(entities.AsQueryable()).CommandText;
            command.CommandText = "DELETE [t0]\r\n" + s.Substring(s.IndexOf("FROM"));
            command.Connection.Open();
            int records = command.ExecuteNonQuery();
            command.Connection.Close();
            return records;
        }
    }    
}


Как видите, и тут DbCommand приходит на помощь.

P.S3. Прекращайте ныть и начинайте работать :)
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36712944
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
IDBConnection - это танец с бубном? Тогда, батенька, Вам не в программисты, а в сельское хозяйство.

Я давно и успешно использую ADO.NET и про IDBConnection кое-что понимаю.
Так бы и использовал его дальше, если бы не понадобилось разработать вэб-модуль к существующей системе. И вот же черт дернул ввязаться в "современные технологии"... Хорошо хоть заказчик внутренний и сроки не горят.

А Вы любите, чтобы последнее слово за Вами оставалось? ;)
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36713072
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль, современные технологии тут как-бы непричём. Для себя просто попытайтесь ответить: нужно ли оно Вам. Если нужно - забейте на религиозные мотивы и прочие порывы души: просто исполуйте ORM и всё. Если сомневаетесь - пишите по-старинке и не пукайте :)
P.S. От себя отвечу, ORM сильно упрощает жизнь. Особенно в поддержке кода.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36713123
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, современные технологии всегда причем!
"Упрощение жизни" для меня - это возможность в кратчайшие сроки и с меньшими затратами выпускать отказоустойчивое и безошибочное ПО. Пока у меня есть время поупражняться более "для себя", чем "для дела". Но если придет время подбирать команду и технологию для крупного проекта - я должен знать преимущества и подводные камни.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36713139
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подводные камни есть в любом деле, даже в уборке картофеля с картофельных полей.
Во-вторых, только на реальных проектах Вы сможете вполтную прочувствовать хибер. Иначе, это как в магазине: я пришел покупать конфету, до этого ее не пробовав. Я много читал про нее, про нее много говорили. Но, пока реально не попробуешь - не скажешь, какого вкуса она. Вы поковырялись, слегонца прочувствовали хиб. Этого достаточно. Теперь скажите, нужно ли оно Вам? Если да - вперёд, если нет - не ипите моск форумчанам :)
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36713796
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

плюсую
...
Рейтинг: 0 / 0
19 сообщений из 69, страница 3 из 3
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]