title: Data Access Layer without ORM
body: <p>I'm coding mmorpg server emulator (hobby project) and i've stopped on writing data access layer. The thing is that i can't use ORM (performance matter). I've read a lot about Repository pattern but it seems like it does not fit well into my project because I'm gonna need methods like: (player db) GetAllByLevel(...), GetByName(...), etc.
  I want my application to be database agnostic. (I'm using sql server for now but i would like to add support for mysql later)
  Which data access pattern would fit into my project?</p>
  <p>Sorry for my bad english.</p>
  <h1>Edit</h1>
  <p>One more question. I've read that repository pattern operates on the agreggate root.
  I've got 3 tables player, player_friend and player_chest. Player is an agreggate root and if i'm not wrong i should create just one repository (PlayerRepository) that could have methods like: GetFriends([player id], ...), GetChest([player id], ...) and so on.
  Am i right?</p>