powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate вопрос (тупой наверное)
12 сообщений из 12, страница 1 из 1
NHibernate вопрос (тупой наверное)
    #35851239
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем есть такие два объекта предметной области:

Device
{
Id,
Name
Model
}

Model
{
Id,
Name
}

Device - устройство, Model - модель устройства


Так вот вопрос что лучше хранить в Device. Id или объект Model?

Я остановился на Id.

Но как-то это ни][ера не объектно-ориентированно. :(
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35851244
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую NHibernate
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35851779
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord British
Так вот вопрос что лучше хранить в Device. Id или объект Model?
Я остановился на Id.
Но как-то это ни][ера не объектно-ориентированно. :(

А почему не ссылку экземпляр Model? Как раз получается объектно-ориентированно. )

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35851838
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если Модель справочник, один раз загрузили и все.С Id получается экономно
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35853035
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaА если Модель справочник, один раз загрузили и все.С Id получается экономноА разве хранить ссылку на Модель не так-же экономно, как и Id? Даже более экономно - не нужно будет перед использованием искать Модель по Id

Это если сам объект Модель где-то нужен. Понятно, что если он не нужен, то Id.
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35853272
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тупой конечно
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35853572
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДаже более экономно - не нужно будет перед использованием искать Модель по Id
Раскажи,как ты ссылки без поиска находишь
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35854239
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaавторДаже более экономно - не нужно будет перед использованием искать Модель по Id
Раскажи,как ты ссылки без поиска находишьЭто элементарно - их нужно будет найти только один раз, а не перед каждым использованием.
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35863746
b0ltun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вообще-то NH не грузит объекты по 10 раз тоже, если его об этом не попросить (Refresh).
Смысл в том, что если в одноной и той же сессии загрузить объект (например через Get)
и потом опять сделать Get, то NH обратится к БД только в первый раз, воторой раз он просто вернет ссылку на persistent object.
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35863948
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А для чего она нужна полная Model в Device?Могут быть и классы гораздо толще?
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35864071
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b0ltunСмысл в том, что если в одноной и той же сессии загрузить объект (например через Get)
и потом опять сделать Get, то NH обратится к БД только в первый раз, воторой раз он просто вернет ссылку на persistent object.Это, конечно, правильно.

Только чтобы вернуть ссылку на persistent object, процессору нужно выполнить милион операций. Хоть это и не милиард, который нужен для загрузки объекта из БД, но всё же больше сотни, которая понадобится, чтобы обратиться к объекту напрямую.

SeVaА для чего она нужна полная Model в Device?Могут быть и классы гораздо толще?Может, и не нужна.

Собственно, ответ на вопрос ТС простой.

Если возможны обращения к Model (т.е. это не просто хранимый атрибут), нужно хранить и то, и другое:

Device
{
Id,
Name
Model
}

При этом Model - null, и при обращении к Model получать этот объект по Id.
Естественно, как положено - искать сначала в кэше, а потом уже обращаться к БД.
...
Рейтинг: 0 / 0
NHibernate вопрос (тупой наверное)
    #35864354
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМожет, и не нужна
Нужна она только для чистоты объектно-ориентированности,которая в действительности никому не нужна(за исключением коллекций), а только вредна.Если нужен список Device, то никакие кеши не помогут,производительность будет ниже плинтуса.Отсуда и вопросы на ровном месте Связь многие ко многим
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate вопрос (тупой наверное)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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