Обновление DbFacade. Встречаем библиотеку для MySQL

И немного рекламы:

Сегодня хочу представить вам обновление моих библиотек для удобной работы с базами данных SQLite, MSSQL и долгожданный MySQL. Если первые две вы уже знаете, то о последней сегодня еще поговорим. А сейчас я расскажу об изменениях первых двух.

Самое важное — я переименовал название класса каждой библиотек. Теперь вы сможете добавлять в один проект обе библиотеки, и они не будут конфликтовать. Также я изменил конструкторы и убрал некоторые переменные. Когда я только начинал писать код библиотек, я представлял себе, что они будут совместимы и их легко можно будет менять в независимости от использованной базы данных. Однако это оказалось слишком сложно и неоднозначно. Во первых параметры подключения слишком разнятся, но это еще не самое плохое. Проблема возникла, когда начинаются использоваться операторы или функции, которых используются в запросах к одной базе данных, но не поддерживаются другой. В итоге я решил упростить задачу и писать библиотеки только под конкретную базу данных.

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

public class MyDatabase : DbFacadeMySQL
{
	//Конструктор
	public Database(string server, uint port, string username, string password, string database)
		: base
			(server, port, username, password, database)
	{

	}

	//Здесь все остальные ваши методы...
}

Это один из вариантов использования библиотеки.

Для базы данных MySQL я разработал новую библиотеку. Основные методы остались те же, однако есть и новинки:

Для полной совместимости, для версии MySQL передаваемые параметры претерпели некоторые изменения: используется MySqlDbType вместо DbType. Если для SQLite и MSSQL можно писать так:

ParametersCollection ps = new ParametersCollection();
ps.Add("startDate", DateTime.Now, DbType.DateTime);

то для MySQL необходимо писать так:

ParametersCollection ps = new ParametersCollection();
ps.Add("startDate", DateTime.Now, MySqlDbType.DateTime);

Для DbFacadeMySQL потребуется скачать и подключить вот эту библиотеку.

Вот, в принципе и все отличия. Сейчас я выложил бета-версию всех библиотек. Старая 0.5.13 будет еще доступна. Скачать можно, как обычно, в разделе проектов.

Популярность: 3%

Теги: ,

Если у вас возникли вопросы, вы можете оставить их в комментариях

Оставить комментарий

(обязательно)

(обязательно)