initial DAL and Domain

EntityFramework cannot read minds, so some fine tuning SQL was required