public void can_use_execute_query()
        {
            _dataAccess.ExecuteCommand("CREATE TABLE Vampires(Name NVARCHAR(200) NOT NULL, Age INT NOT NULL)");
            _dataAccess.ExecuteCommand("INSERT INTO Vampires(Name, Age) VALUES('Bill', 172)");
            _dataAccess.ExecuteCommand("INSERT INTO Vampires(Name, Age) VALUES('Jessica', 17)");
            _dataAccess.ExecuteCommand("INSERT INTO Vampires(Name, Age) VALUES('Erik', 1204)");

            var vampireService = new VampireService();
            var vampires = _dataAccess.ExecuteQuery<Vampire>(
                () => new Vampire(vampireService),
                "SELECT * FROM Vampires");

            vampires.Count().ShouldBe(3);
            vampires.First(v => v.Name == "Bill").Age.ShouldBe(172);
        }
        public void can_use_select()
        {
            _dataAccess.ExecuteCommand("CREATE TABLE Vampires(Name NVARCHAR(200) NOT NULL, Age INT NOT NULL)");
            _dataAccess.ExecuteCommand("INSERT INTO Vampires(Name, Age) VALUES('Bill', 172)");
            _dataAccess.ExecuteCommand("INSERT INTO Vampires(Name, Age) VALUES('Jessica', 17)");
            _dataAccess.ExecuteCommand("INSERT INTO Vampires(Name, Age) VALUES('Erik', 1204)");

            var vampireService = new VampireService();
            var erik = _dataAccess.Select<Vampire>(
                () => new Vampire(vampireService),
                where: new { Name = "Erik" }
                ).First();

            erik.Name.ShouldBe("Erik");
            erik.Age.ShouldBe(1204);
        }
 public Vampire(VampireService vampireService)
 {
     _vampireService = vampireService;
 }