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

Эмм, если вы про провайдеры .NET под Оракл - нужно пользовать не дефолтные, которые идут с фреймворком, а от самого оракла. Работают под NET4 включительно, поддерживают все "положенные" в .NET фичи, кроме разве EF - пока поддержки нет, но уже работают над этим.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709941
sysaux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль
Да, конечно, уроки и примеры по ASP.NET MVC пройдены с LINQ-ом. Посматривал и на EF...
Но есть одна маленькая проблема, под названием oracle!
Я так понимаю - ASP.NET приложение под Oracle?
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709942
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysaux,

и с LINQ работают?
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709945
sysaux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,

Да.
http://otn.oracle.com/dotnet
Честно, удивлен что вы про них не слышали. ЕМНИП, оракловцы делают этот провайдер в тесном сотрудничестве с МС, и сами МС всегда рекомендуют использоватеь провайдеры от Оракла, а не дефолтный.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709947
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльSolYUtor,
В данный конкретный момент меня шибко волнует, как заставить работать визуальный компонент Html.DropDownList ( http://sql.ru/forum/actualpost.aspx?bid=12&tid=769811&mid=9006997&p=1#9006100), не имея упомянутого Вами "ProductId" (в моем случае STATUS_ID).
Так нарисуйте отдельный класс-обёртку DropDownItem, который будет возвращать нужные свойства из объектов.

Курдль
И, согласитесь, - как-то не кошерно иметь персистентный объект, в котором не все поля получают значения из БД, когда Вы этого ожидали...
Некошерно маппить ключевое поле дважды.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709949
sysaux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,

Точнее linq to dataset - точно работает, глюков не встречал, и не слышал что есть.
Linq to SQL - не использовал, да и смысла особого не вижу.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709965
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysaux,

я использую OracleDataAccess из последних. Ткните меня в ссылку, что он подключается к LINQ.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709974
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtor
Так нарисуйте отдельный класс-обёртку DropDownItem, который будет возвращать нужные свойства из объектов.
Это танцы с бубном. Должен быть более изящный вариант.
SolYUtor
Некошерно маппить ключевое поле дважды.
Да мне хоть трижды! Я готов 1 раз потрудиться над маппингом, чтобы все остальное время класс вел себя так, как задумано.
Какого черта Get возвращает null в этом поле, если в БД прописано конкретное значение?
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709978
sysaux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,

Вот так навскидку - не нашел ссылок. Явных утверждений, что НЕ поддерживает - тоже не нашел.
А то что (не только)у меня работает linq к typed датасетам, построенным из оракловых табличек - не годится? Если не ошибаюсь, linq может обращаться к любым данным - лишь бы провайдер реализовал интерфейс IQueryable, т.е. это немного не к Ораклу вопрос.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709983
sysaux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль Ткните меня в ссылку, что он подключается к LINQ.
Оп, нашел на forums.oracle.com - Linq-to-Oracle(я так понимаю это LinqToSQL?), как и ADO.NET EF - еще не реализованы.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709985
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysaux,

я честно скажу, что не знаком с надстройкой Fluent и никогда ее не пользовал,
может лень матушка, но придерживаюсь классического стиля на XML, благо мапперов хватает.
Ну и в общем вам советую вернуться к классическому мапу, как более документированному
аки разумному и более понятному ( мое имхо).
попробуйте сделать - убрать из ордера References, ProductId замапте.
а вытаскиванье продукта в ордере, сделайте из акцкссора Productа прямо в классе Ордер через
ses.Get<>(),
вы же ордер через продукт вставлять будете это будет не криминально, и ленивая загрузка
сохранится, Fluent я думаю это позволяет, на xml, такие трюки возможны..
посмотрите похожий пример на Fluentе http://netcoder.ru/blog/csharp/129.html
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709987
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysauxКурдль,
А то что (не только)у меня работает linq к typed датасетам, построенным из оракловых табличек - не годится?

Я не так уж глубоко копал, но что даст linq к датасэтам? И вообще, зачем я тогда отказался от любимых датасэтов в пользу ORM?

LINQ и Nhibernate дают полный цикл ORM преобразований. А что дает linq к датасэтам?
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709991
sysaux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль
LINQ и Nhibernate дают полный цикл ORM преобразований. А что дает linq к датасэтам?

"Полноценные" ORM не использовал, а linq к датасетам дает простой и интуитивный способ выборки данных из таблиц. ИМХО, проще написать
Код: plaintext
1.
2.
3.
from a in table
where a.NAME == b
orderby a.RECORD_DATE
select a
нежели городить циклы с множеством if-ов и прочим.

А если можно, "в двух словах" - какие преимущества дает ОРМ? Как бы в датасетах тоже замаплены таблицы, и у нас есть объекты DataTable, dataRow, к которым можно обращаться как к объектам, не заморачиваясь, какой синтаксис SQL у конкректной СУБД.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709993
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,
Спасибо!
Я попробую.
Только сначала попытаюсь разобраться "по-хорошему" - вдруг я где-то недосмотрел?
Танцевать с бубном я уж привык, как только взялся за Nhibernate. Может это причуды oracle...
Интересно, есть ли у кого этот же пример с Nhibernate и MS SQL? Возвращается ли там null в OrderId или значение?..
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709995
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysaux[quot Курдль]
"Полноценные" ORM не использовал
это как езда на запорожце и мерседесе, вроде все ездють, а кайф от езды разный.
вы еше не вспомнили типизированы датасет, интересно - этим атавизмом ктонить пользуется
кроме батонокидателей?
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36709997
sysaux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

Ну, видимо я батонокидатель.
Просто не видя плюсов в ОРМах, не хочу кидаться их применять -только потому что модно.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36710000
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysaux,

Я уже говорил, что не в LINQ, Nhibernate и даже не в ORM дело, а в ООП.
DDD, а особенно - TDD требуют возврата к безупречной объектной модели предметной области.
Великолепные порождения ADO.NET - многотабличные датасэты со встроенной поддержкой целостности данных и т.д. не отвечают их концепции.
Главное - объектная модель, а ORM - лишь один из методов практической реализации.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36710004
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи
вы еше не вспомнили типизированы датасет, интересно - этим атавизмом ктонить пользуется
кроме батонокидателей?
Я с удовольствием пользуюсь. А в чем они хуже нетипизированных?
Чем запись
DataSet1.Tables["Orders"]
лучше
DataSet1.Orders?
Неужели тем, что в первом случае ошибку на этапе компиляции не выявить и intellisense не работает?
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36710699
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльНо есть одна маленькая проблема, под названием oracle!
Раньше MS стеснялся выпускать продукты, не поддерживающие его...
Sample Entity Framework Provider for Oracle
P.S. Но, вообще, лично я бы рекомендовал хибер под оракуль.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36710733
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Спасибо! Я разглядывал это произведение программистского искусства.
Пока что доверия оно не вызвало. Видел я и промышленные продукты сторонних производителей типа: http://www.devart.com/dotconnect/oracle/
Но они стоят денег и пока не понятно, чего от них можно ожидать.

Кстати, а как Вы считаете, следует ли мапить поля дважды (в теле маппинга полей и в маппинге связей), если они являются внешними ключами? http://www.sql.ru/forum/actualthread.aspx?tid=769811&pg=1#9006962
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36710859
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльКстати, а как Вы считаете, следует ли мапить поля дважды (в теле маппинга полей и в маппинге связей), если они являются внешними ключами?
Я бы маппил только в теле маппинга полей и всё. За целостность данных пусть БД отвечает, а не клиент.
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36710890
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУКурдльКстати, а как Вы считаете, следует ли мапить поля дважды (в теле маппинга полей и в маппинге связей), если они являются внешними ключами?
Я бы маппил только в теле маппинга полей и всё. За целостность данных пусть БД отвечает, а не клиент.

Целостность данных я даже пока не рассматриваю. Маппить связи нужно, чтобы получать связанные объекты. Напр. если я хочу отобразить подробности о книге, то могу вытянуть связанный "Много-к-одному" объект "автор" с его атрибутами а из него - объект "адрес" и т.п. Как иным образом можно это получить, не замапив связи?
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36710966
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем Вам маппить второй раз поле? Замапили сущность и всё.

Чтобы потом через значение кода вытянуть сущность (в отличие от тупого EF и LINQ 2 SQL), вовсе необязательно вытягивать из БД эту сущность (лишний запрос).

Достаточно просто выкрутиться так:

Код: plaintext
session.Delete(new Customer{ CustomerId = 3});

Согласен, бывают такие ситуации, что у дочерней записи требуется узнать значение ID родителя. Ну тут только по лэзи перезапрашивать... :(
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36710995
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА зачем Вам маппить второй раз поле? Замапили сущность и всё.

Мы пошли по кругу. Я привел пример, зачем может понадобиться такое поле, чуть раньше:
/topic/769811&pg=1#9006100
...
Рейтинг: 0 / 0
Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
    #36711077
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так возьмите значение замапленной сущности в декларативном коде так:

Код: plaintext
<%= Html.DropDownList("ENTITY_REF.STATUS_ID", (IEnumerable<SelectListItem>)ViewData["Statuses"], new { @style = "width: 420px;" })%>
...
Рейтинг: 0 / 0
25 сообщений из 69, страница 2 из 3
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как отлаживать приложения с NHibernate? Как определять место и смысл ошибок?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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