Skip to content

Changelog

Twodio edited this page Oct 19, 2019 · 4 revisions

Welcome to the Dapper.UoW wiki!

Changes

petrhaus's repository had a very simple logic that would work in all the possible cases i could imagine for my next project and was well organized as i expected it to be, the only problem was the lazy loading and his transient exception that i didn't need - at first.

first stage (removed temporarily)

After checking the repository and my goal, i decided that i would implement exponential backoff from microsoft's page, as they are the same. Got some backlashes but i managed to work it out.

second stage

I tried to implement lazy loading and keep the simple queries, but the structure wouldn't allow, and the repository didn't have a generic CRUD, so, only two kind of queries could be executed. I was able to do a partial implementation but there was no consistency, since my async method were being consumed twice and were genereating too much code and the command weren't fully compatible.

third stage (actual)

I kept the base repository structure, removed all the methods except those required by the repository itself.

  • Added new interfaces and removed the olds for IUnitOfWork and ICommads.
  • Added two new objects (PersonEntity and AddressEntity) and removed the olds.
  • Removed the old tests in the Main method.
  • Added generic crud to the UoW's interface and Command's as well.

fourth stage (implement my last changes)

  • Changed the IUnitOfWork and ICommand Interfaces.

fifth stage (a new branch was created)

The branch "cleanv1" was created. The Transcient Exception Handler wasn't working as i expected it to be, anyways it was a lightweight implementation of what it really is, furthermore i'll be implementing a better one (as good i can make it fit into my code, without using another 3rd party library).

Sixth stage (new feature)

Transient Exception handler was implemented.

Also, i'm adding some documentation. The code is still very simple, but it's always better to add some while it's still easy.