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

КурдльКстати, такая религиозная конструкция изображена во всех прочитанных мною "руководящих документах"!
В топку такие инструкции! Иначе Вы лишаетесь способа использования сущности без выдёргивания её из базы.
Выбирайте, что Вам дороже: оптимизация или гламурь.
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831109
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ Иначе Вы лишаетесь способа использования сущности без выдёргивания её из базы.
Выбирайте, что Вам дороже: оптимизация или гламурь.
А если настроить геттер на приватное поле, устанавливаемое только в конструкторе, получится "и вашим, и нашим"?
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831119
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльА если настроить геттер на приватное поле, устанавливаемое только в конструкторе, получится "и вашим, и нашим"?
А с чего это вдруг конструктор должен проводить инициацию? Не забывайте про паттерны репозитория и иже, которые хранят в себе бизнес-слой.
P.S. Не выдумывайте, короче.
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831141
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Т.е. Вы уверены, что ПК помечены protected из чисто религиозных соображений пущей защищенности? Никаких граблей у Вас со "снятием защиты" не возникало?
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831169
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль, зачем Вы меня заставляете повторять дважды?
Я же вам уже дал ответ:

МСУВыбирайте, что Вам дороже: оптимизация или гламурь.

Думайте сами.

P.S. По сабжу: с введением дополнительного FK-поля я сомневаюсь, что Вы сможете сохранить сущность в базе. Лично я использую sql-query + Transformer (Class) для сложных участков, требующих оптимизации, чего и Вам советую.
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831231
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, для сложных трансформаций из sql-query всегда хорошо иметь под рукой свой кастомный транформатор (от IResultTransformer).
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831261
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУс введением дополнительного FK-поля я сомневаюсь, что Вы сможете сохранить сущность в базе.
Я обращаюсь на форум не для досужего базара. Все подходящие мне варианты стараюсь проверять.
Предложенное Вами:
Код: plaintext
1.
2.
3.
4.
5.
public void SaveNewOrder(Order order)
{
...
  order.Customer = new Customer { CUSTOMER_ID = 3; }
...
}
прекрасно отработало. Спасибо!

Другое дело, что не удается повторить возможное в Linq2Sql:
Код: plaintext
1.
2.
3.
4.
5.
public void SaveNewOrder(Order order)
{
...
  order.CUSTOMER_ID = 3; //Nhibernate при таком присвоении вываливает ошибку
...
}
после которого Order в БД получает связь с Customer, у которого ID = 3.
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831267
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльПредложенное Вами ... прекрасно отработало. Спасибо!
Ок, теперь Вы прочувствовали негатив религиозных конструкций, предлагаемых на различных сайтах уважаемыми пионерами-говнопесателями? )

КурдльNhibernate при таком присвоении вываливает ошибку
И правильно, что выдаёт.
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831291
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль, вы вообще, читаете, что Вам пишут?

МСУP.S. По сабжу: с введением дополнительного FK-поля я сомневаюсь, что Вы сможете сохранить сущность в базе.
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831317
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУКурдль, вы вообще, читаете, что Вам пишут?

МСУP.S. По сабжу: с введением дополнительного FK-поля я сомневаюсь, что Вы сможете сохранить сущность в базе.

Да, конечно же читал!
Но создавалась эта ветка форума, чтобы понять, как лучше организовать чтение, - с особенностями записи я смирился. Но в результате обсуждения обрел даже больше, чем ожидал - спасибо Вам!
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831338
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдлькак лучше организовать чтение
Ещё раз акцентирую Ваше внимание на sql-query + Transformer (Class)!

P.S. Не нужно мучать реальную сущность. Сегодня Вы вводите новые члены, завтра возникает еще задача - опять новые пропертя?
P.S2. Последний раз говорю, больше не буду повторять: маппируйте "задачу" не в базовую сущность, а в отдельный класс(ы), предназначенный для той самой задачи, и работайте с этой самой сущностью.

Вот Вам, бабушка, и Юрьев день оптимизация :)
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831378
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУP.S. Не нужно мучать реальную сущность. Сегодня Вы вводите новые члены, завтра возникает еще задача - опять новые пропертя?
P.S2. Последний раз говорю, больше не буду повторять: маппируйте "задачу" не в базовую сущность, а в отдельный класс(ы), предназначенный для той самой задачи, и работайте с этой самой сущностью.
1. Откуда возьмутся новые пропертя, если в предметной области и даже в БД они не появились?
2. А это наводит на грустные мысли: "нахрена я перешел с ADO.NET на NHibernate, если все равно моя модель обрастет сущностями, выходящими за рамки DDD, всякими там DTO и т.п." :(
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831415
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль1. Откуда возьмутся новые пропертя, если в предметной области и даже в БД они не появились?
Как Вы недальнозорки... :)
Задача: формирование продукт листа
Доступные атрибуты (те, которые нужны для продукт листа): ProductID (Products), ProductName (Products), CategoryID (Products), CategoryName (Categories)
Нагрузка на систему: 10000 пользователей
Приблизительное кол-во продукции: ~ 10 млн записей

Сформируйте мне этот список средствами хибера. Жду.

[/quot]2. А это наводит на грустные мысли: "нахрена я перешел с ADO.NET на NHibernate, если все равно моя модель обрастет сущностями, выходящими за рамки DDD, всякими там DTO и т.п." :([/quot]
Так всегда было и будет. ORM - это универсальный механизм, а не лекарственное средство от панацеи. Как только появляется задача не вида хеллоу ворлд, приходиться выходить за грани...
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831417
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль1. Откуда возьмутся новые пропертя, если в предметной области и даже в БД они не появились?
Как Вы недальнозорки... :)
Задача: формирование продукт листа
Доступные атрибуты (те, которые нужны для продукт листа): ProductID (Products), ProductName (Products), CategoryID (Products), CategoryName (Categories)
Нагрузка на систему: 10000 пользователей
Приблизительное кол-во продукции: ~ 10 млн записей

Сформируйте мне этот список средствами хибера. Жду.

Курдль2. А это наводит на грустные мысли: "нахрена я перешел с ADO.NET на NHibernate, если все равно моя модель обрастет сущностями, выходящими за рамки DDD, всякими там DTO и т.п." :(
Так всегда было и будет. ORM - это универсальный механизм, а не лекарственное средство от панацеи. Как только появляется задача не вида хеллоу ворлд, приходиться выходить за грани...
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831494
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, по вопросу "нахрена": недавно дискутировали в соседней ветке , понравилось высказывание LR:

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

P.S. Вот такие, Курдлёчек, дела ... :)
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831741
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Задача: формирование продукт листа
Доступные атрибуты (те, которые нужны для продукт листа): ProductID (Products), ProductName (Products), CategoryID (Products), CategoryName (Categories)

На мой бесстрашный дилетантский взгляд - одна проекция и "fetch-join" приведут к одному единственному запросу, что не сильно "опаснее" чистого SQL-запроса от ADO.NET.

Теперь Ваш вариант - где подвох?
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831845
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдльдилетантский взгляд
Ну не прибедняйтесь, все знают что Вы бесстрашный гура флюентист! :)

Курдльодна проекция и "fetch-join" приведут к одному единственному запросу, что не сильно "опаснее" чистого SQL-запроса от ADO.NET.
Не опаснее?! Батенька, - Вы уволенынах!
P.S И что вернется? Лист сущностей Northwind..Products. Понимаете, к чему клоню? Правильно, избыточные поля, которые не нужны задаче. Я, ведь, не зря акцентировал внимание на результирующие атрибуты:

мусяProductID (Products), ProductName (Products), CategoryID (Products), CategoryName (Categories)

DBA Вас порвёт.

КурдльТеперь Ваш вариант - где подвох?
Подвох (самый злой из подвохов) тут:

Northwind..Products
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE TABLE [dbo].[Products](
	[ProductID] [int] IDENTITY( 1 , 1 ) NOT NULL,
	[ProductName] [nvarchar]( 40 ) COLLATE Cyrillic_General_CI_AS NOT NULL,
	[SupplierID] [int] NULL,
	[CategoryID] [int] NULL,
	[QuantityPerUnit] [nvarchar]( 20 ) COLLATE Cyrillic_General_CI_AS NULL,
	[UnitPrice] [money] NULL CONSTRAINT [DF_Products_UnitPrice]  DEFAULT (( 0 )),
	[UnitsInStock] [smallint] NULL CONSTRAINT [DF_Products_UnitsInStock]  DEFAULT (( 0 )),
	[UnitsOnOrder] [smallint] NULL CONSTRAINT [DF_Products_UnitsOnOrder]  DEFAULT (( 0 )),
	[ReorderLevel] [smallint] NULL CONSTRAINT [DF_Products_ReorderLevel]  DEFAULT (( 0 )),
	[Discontinued] [bit] NOT NULL CONSTRAINT [DF_Products_Discontinued]  DEFAULT (( 0 )),
 CONSTRAINT [PK_Products] PRIMARY KEY CLUSTERED 
(
	[ProductID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]


А если бы мы рассмотрели задачу Northwind..Employees? Корень зла - в поле Photo (image)?

P.S. Вот поэтому, милый Курдлёк, ситуацию спасйт только IResultTransformer.
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36831878
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

DBA - рабочая лошадка из Департамента сопровождения автоматизированных систем, которая не имеет никакого права издавать звуки из своего болота! Если у него какие-то проблемы с производительностью вверенных АС - значит он прос...ал деньги, выделенные на покупку аппаратных средств, или закупил г...но за откаты ;)

А если серьезно, сейчас копаю в сторону ленивой загрузки отдельных полей, в основном из-за упомянутых BLOB-ов.
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36832018
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльDBA - рабочая лошадка из Департамента сопровождения автоматизированных систем, которая не имеет никакого права издавать звуки из своего болота!
Пойдите расскажите это на сиквельном форуме, а я посмотрю издали :)

КурдльЕсли у него какие-то проблемы с производительностью вверенных АС - значит он прос...ал деньги, выделенные на покупку аппаратных средств, или закупил г...но за откаты ;)
А Вы не думали, что корень беспощадного зла может таиться в вверителях? :)

КурдльА если серьезно, сейчас копаю в сторону ленивой загрузки отдельных полей, в основном из-за упомянутых BLOB-ов.
Ну-ну... )
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36832048
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУКурдльА если серьезно, сейчас копаю в сторону ленивой загрузки отдельных полей, в основном из-за упомянутых BLOB-ов.
Ну-ну... )

А что?!! Один величайший гуру Nhibernate с одноименного сайта .ru сказал, что достаточно полю поставить lazy="true", как оно тут же перестает грузиться, когда его не просят!
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36832077
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И Вы, конечно, уже опробовали лекарственное средство этого величайшего гуру? :)
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36832111
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУИ Вы, конечно, уже опробовали лекарственное средство этого величайшего гуру? :)
Ну ясен... пень! Что-та нет пока клинического эффекта. Но упорство должно победить! ;)
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36832119
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльЧто-та нет пока клинического эффекта. Но упорство должно победить! ;)
А, может, это вовсе не величайший гуру, а, всего-навсего, гурка мелкого пошива?
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36832157
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльНо упорство должно победить! ;)
У Вас есть одно очень наихреновейшее свойство, Курдлёк :)
Вы прёте как баран на стену и не хотите видеть, что есть за той стеной. Там, конечно, могут быть и золотые слитки, но может быть и большая куча коровьего навоза, дурно манящая поганых мух. Вам нужны поганые мухи?

Итак, предположим, что Вы добились ленивой загрузки пропертей на основе маппинга:

Исходные данные: есть 3 поля RefId1, RefId2 и RefI3.
Задача: Добиться ленивой загрузки поля RefId1

Вы её решаете. Но, через какое-то время, возникает задача ленивой загрузки поля RefId2.

Вот все комбинации возможных задач:

КомбинацииЗадача 1: Добиться ленивой загрузки поля RefId1
Задача 2: Добиться ленивой загрузки поля RefId2
Задача 3: Добиться ленивой загрузки поля RefId3
Задача 4: Добиться ленивой загрузки полей RefId1, RefId2
Задача 5: Добиться ленивой загрузки полей RefId1, RefId3
Задача 6: Добиться ленивой загрузки полей RefId2, RefId3
Задача 7: Добиться ленивой загрузки полей RefId1, RefId2, RefId3

Внимание вопрос: Вы всё-время будете править маппинги? Или сразу сделаете все поля сущности ленивыми?

Что скажете, коллега? :)
...
Рейтинг: 0 / 0
Чем отличается Nhibernate и Linq2SQL?
    #36832164
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
А, может, это вовсе не величайший гуру, а, всего-навсего, гурка мелкого пошива?
Не знаю, вроде как парень он отзывчивый - аккуратно отвечает на каждый вопрос по вечерам. Правда ответы как-то не очень...
Зато похоже - сам создатель сайта, а это звучит гордо!
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 2 из 3
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Чем отличается Nhibernate и Linq2SQL?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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