WildData: lightweight data access framework

Антон Подавалов, “WildData: легкий фреймворк доступа к данным”, public translation into English from Russian More about this translation.

See also 9 similar translations

Translate into another language.

Participants

apodavalov 221 points
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next next untranslated
1 2 3

WildData: легкий фреймворк доступа к данным

WildData: lightweight data access framework

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

Доброго времени суток, %username%! Вот и я решился на написание статьи на данном ресурсе. Речь пойдет о доступе к данным из приложений написанных на .NET, в частности на языке C#. Все мои мысли, и во что они в итоге вылились, я попытаюсь изложить под катом. Добро пожаловать!

Good day, %username%! Here I dared to write an article for this portal. I’m going to talk about data access layer for .NET (C#) application. All my thoughts/ideas and in what they turned, I am going to express below. Welcome!

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

Под СУБД в статье будем понимать реляционную СУБД. Забегая вперед, скажу, что представленная библиотека (фреймворк) не является заменой Entity Framework, не зависит от него и не имеет к нему никакого отношения.

Every time I will speak about DMBS I will mean an relational DBMS. Looking forward, I would like to say that an introducing library (framework) is not Entity Framework replacement and has nothing to do with it.

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

Тем не менее, оттолкнёмся от вышеупомянутого фреймворка. Одна из его идей – попытка (и весьма удачная) введения абстракции доступа к данным. Иными словами уход от конкретной СУБД.

Nevertheless, the Entity Framework is good (may be the best) attempt that introduces abstract data access. In other words, it takes a user away from specific DBMS.

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

Каждая СУБД имеет свои плюсы и свои минусы: некоторые имеет одни возможности, некоторые другие; некоторые делают хорошо одно, другие – другое и т.д. Давайте теперь представим, что взвесив все «за» и «против» мы выбрали некую СУБД для реализации какого-то грандиозного (или не очень) проекта и решили писать всё это с использованием… ADO.NET.

Every DBMS has its advantages and disadvantages. Many of them have some specific features. Some of them are the best in a field, some of the are the best in another. Let’s assume that after some thoughts we have chosen an DBMS to implement some great (or not so great) project and decided to write it using … ADO.NET.

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

Плюсы ADO.NET:

Advantages of ADO.NET

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

1. Полный контроль над запросами;

1. Total control on queries;

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

2. Относительная простота: создать подключение, создать транзакцию (опционально), создать команду, добавить текст запроса и параметры, запустить, считать данные (опционально);

2. Simple scenario: create connection, create transaction (optional), create command, specify command text and parameters, run query, read data (optional).

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

3. Есть поддержка практически для любой СУБД.

3. Supports almost all DBMS.

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

4. Тесное взаимодействие с СУБД (например, поддержка таких «нестандартных» типов данных как координаты, JSON и т.д.).

4. Close interaction with DBMS (i. e. supporting "non-standard" types like geography coordinates, JSON, etc).

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

Минусы ADO.NET (предпосылки к реализации проекта):

Disadvantages of ADO.NET

History of edits (Latest: apodavalov 10 months, 3 weeks ago) §

1. Для каждой модели необходимо каждый раз заново писать код для чтения, добавления и изменения записи в БД – проще говоря отображения объекта на запись в таблице, представлении т.д. и, наоборот, отображение записи на объект;

2. Нет абстрагирования как в Java (хотя есть DbConnection/DbCommand и другие классы, но часто используются конкретные типы, например SqlConnection/SqlCommand);

3. Нет универсальной поддержки работы с пакетом записей (добавление, обновление, добавление или обновление, удаление);

Вероятнее всего читатель уже догадался, что мы будем думать как избавляться от вышеупомянутых недостатков. Поговорим о том, что является ключом к реализации всего проекта.

Pages: ← previous Ctrl next next untranslated
1 2 3