К основному контенту

C#, Dapper, QueryObject and Transaction

https://github.com/altbodhi/DapperClient  решил попробовать еще больше упростить работу с СУБД, путем централизации доступа к подключению через обретку-клиента и использования паттерна QueryObject.
DapperClient реализует лишь часть методов, т.к. использование, например, метода позволяющего за один проход загрузить все записи. на мой взгляд, лишь усложняет реализацию.
 Идея в том, чтобы можно было запустить транзакцию, обработать данные и завершить транзакцию. Ну использовать управление запросами при помощи QueryObject.

public interface IQueryObject
{
   string Sql { get; }
    object Params { get; }
}

// собственно говоря, вся суть идеи:

public IEnumerable<T> Query<T>(IQueryObject queryObject)
{

  return connection.Query<T>(queryObject.Sql, queryObject.Params, GetWorkingTransaction());

}
// GetWorkingTransaction() возвращает транзакцию, если она была запущена методом StartTransaction()

// иначе используется неявная транзакция(одна комманда  - одна транзакция, в случае успеха - коммит).

// вот так создает запрос к бд, никакого sql, только объекты:

public List<Item> Items() => client.Query<Item>(itemQObjects.All()).ToList();
  

Комментарии

Популярные сообщения из этого блога

Кирилица в Arch Linux

После вчерашних обновлений в консоли Arch Linux при выборе русской локали вместо букв печатаются белые квадратики. Очевидно, что по какой-то причине не загружается прописанный в rc.conf шрифт. Временное лекарство от этого: выполнить команду setfont cyr-sun16 . Еще у меня в момент начальной загрузки появляется рябь на экране как от сильных электромагнитных помех в ЭЛТ, хотя у меня ЖК. Может быть это как-то связано.

Сортировка массивов в groovy

Любой массив в java и groovy можно отсортировать статическим методом: Arrays.sort(c); причем это будет очень быстро сто тысяч элементов типа int сортируются за 1 секунду на celeron M 1,8 Mg. Если это массив объектов можно использовать перегруженный метод Arrays.sort(c,comporator);

Arch Linux - руссификация консоли

Вчера, придя с работы, как всегда затеял InstallFest. Уже практически не задумываясь установил свежий арч. И тут заметил что в tty вместо русского - квадратики. Под утро нашел таки сообщение на форме, что в этом виноваты дрова от видео. Там правда речь шла о нвидиа, а у меня ати. Буду пробовать. И еще в lxterminal обратил внимание что сообщения на русском, а то что я вводил на русском потом возвращается системой в виде юникод-символов. Вот такие дела. UPDATE: драйвер не причем. переустановил в консоли(до установки X) по прежнему квадратики вместо букв. неужели придется переключатся на инглиш? Заметил что initscripts скачался c какого-то зеркала не с яндекса. возможно причина в нем.