public void ExecuteStoredProcedureAsActionWithBrokenSyntaxTest()
        {
            //Given
            var databseFactory =
                new EfCoreDatabaseFactoryBase <SharedLibraryContext>("SharedLibraryContext");
            var repository = new EfCoreAccountRepository(databseFactory);

            //When
            TestDelegate testDelegate = () => repository.ExecuteQueryAsAction("exec DeleteAllAccountsFake");

            //Then
            Assert.Throws <SqlException>(testDelegate);
        }
        public void ExecuteStoredProcedureAsActionTest()
        {
            //Given
            var databseFactory =
                new EfCoreDatabaseFactoryBase <SharedLibraryContext>("SharedLibraryContext");

            using (var efCoreUnitOfWork = new EfCoreUnitOfWork <SharedLibraryContext>(databseFactory))
            {
                var repository  = new EfCoreAccountRepository(databseFactory);
                var listOfItems = AccountEntityHelper.CreateEfCoreTestAccounts(3);
                repository.AddRange(listOfItems);
                efCoreUnitOfWork.Commit();

                //When
                repository.ExecuteQueryAsAction("exec DeleteAllAccounts");

                //Then
                Assert.AreEqual(0, repository.GetAll().Count(), "There are still items in the database.");
            }
        }