Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Опять как в прошлый раз с С++ и рефакторингом — мамой клиянусь?
А что не так с рефакторингом в С++?
НС>Вот результат опроса на SO:
НС>Image: Stack-Overflow-Developer-Survey.png
НС>Это, заметь, со всякой носиквельщиной.
Только смотри в другой раз более серьезный ресурс по БД:
https://db-engines.com/en/ranking
ОК, ажур выстрелил в последние годы.
Не ожидал, что MSSQL таки обгонит PostgreSQL. ))
НС>Это не означает, что старый драйвер ADO.NET использовал OLEDB или ODBC. Если что — я там в свое время нашел багу и внимательно код драйвера для этого изучал. Не было там никакого намека на СОМ вообще или что то про ODBC.
Я тоже "официально" с перепиской/подтверждением и прочим рапортовал о двух одинаковых багах в драйверах к MSSQL и MSSQL CE, но уже позже — где-то в 2008-м или 2009-м.
Бага была связана с чтением бинарного стрима из поля, смотрел внимательно рефлектором только этот участок кода уже.
При том что знакомство с дотнетом начал подрабатывая фрилансером в 2001-2002-х годах, писал для штатовской торговой сети торгующую программу и как раз база была MSSQL.
И той баги не было.
А потом обнаружилась мною в другом проекте несколькими годами позже.
Да и по общему виду кода драйвера он однозначно был переписан на "более дотнетный", вероятнее всего с выходом 2-го дотнета в 2005-м.
V>>>>В котором доступны были 3 вида подключения — ODBC, OLEDB и еще не помню название вида подключения
НС>>>Нет. Конкретно та либа — обычная плоская dll со специфичным контрактом, по сути просто парсер TDS.
V>>Думаю, твои данные из более позднего периода
НС>Нет. Это было в 1.0 и 1.1.
А что за бага была?
V>>Но в случае того же EF нетривиально, т.е., подозреваю, что редко используется.
НС>Это вполне тривиально при помощи любого приличного ORM. На крайний случай всегда есть возможность заменить табличку на вьюху.
Не совсем тривиально в случае сложных связей м/у сущностями.
EF отслеживает эти связи самостоятельно, унутре там кеширование в стиле чёрного ящика.
Т.е., "просто запросить" данные где-то сбоку можно, конечно, но чтобы не попортить имеющуюся закешированную иерархию EF — нетривиально.