Здравствуйте, IT, Вы писали:
DDD>>В общем, я закончил свою штуку. Под EF Core.
IT>А зачем эта штука нужна, да ещё через OLE DB? Есть же нормальный нативный FB3 провайдер.
| Разработчик FBNetProvider про свое поделие. 2013 год. |
| [1] Let’s face it, the code is crappy. Redesign would be nice. But I
don’t blame anybody, 5-10 years ago it was different story. .NET was
different (a lot) and we had different understanding of how it works
and should work (and how we should design code).
|
| |
С тех пор там практически ничего не поменялось. С моей точки зрения.
---
Что касается OLE DB (IBProvider).
Меня вообще забавляют такие вопросы.
Сейчас этот слой предоставляет базовые сервисы для взаимодействия с сервером.
Управление ресурсами подключения, всякие парсеры/конверторы/кэши, механику результирующих множеств и так далее и тому подобное.
Ну, в общем, сейчас это самодостаточный клиент к FB, предоставляющий вполне приличный объектный API. Который полностью освобождает верхний уровень от всякой низкоуровневой мути.
По уровню сложности и
надежности, скажем так, он выходит за рамки обывательского представления о такого рода компонентах.
Так что эту штуку уже не объехать и не перепрыгнуть.
И я рассмеюсь в лицо тому, кто скажет, что он сможет заместить его функционал
Он по-моему сейчас поддерживает около 20 разных версий FB/IB, два типа ISC API.
А для FB еще до кучи предоставляет заново спроектированный и исправленный сетевой клиент (их родной меня задрал).
Кста, к IBProvider-у еще сервис пула OLEDB подключений прилагается на замену системному (тоже утомил).
---
ADO.NET провайдер (lcpi.data.oledb) — "просто транслятор вызовов" в OLEDB провайдер.
Если бы System.Data.OleDb был нормально написан, этот провайдер можно было бы не создавать.
---
Уровень EFCore.
Это для тех кому лень писать запросы. Грубо говоря.
И здесь весь сыр-бор в обеспечении корректности и согласованности этого "генератора" запросов.
В основном это касается "локальных" и "серверных" вычислений.
На главной странице приведен один из таких примеров.
Ну и до кучи я там другие вещи EFCore поправил.
Я не про то, что им в трекер писал.
Даже забавно, что они там сами не в состоянии в полный рост использовать свои собственные наработки.
И да, этот мой провайдер для EFCore поддерживает работу с базами данных первого диалекта. Потому что (пока) могу.
---
А вообще, в целом, поскольку внизу лежит нормальный провайдер данных, внутри windows-приложения можно чудить не по-детски.
В середине нулевых это была смесь кода на плюсах и VBS. Типа полностью программируемого репликатора и заскриптованных пользовательских приложений.
С начала 10-ых уже можно прикручивать и компоненты на C# —
раз,
два.
А сейчас вот уже можно и через EFCore запросы к базе лепить.
---
Как-то так.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --