//[Fact(Skip = "Effort does not support Dapper queries.")] public void DapperRepositories_Should_Work_Within_A_UnitOfWorkScope() { _productDapperRepository.Insert(new Product("TShirt", "Red", 5) { Id = 1 }); Product productFromEf = _productRepository.Get(1); _productDapperRepository.GetList(x => x.Name == "TShirt").ShouldNotBeNull(); productFromEf.Name = "Pants"; _productDapperRepository.Update(productFromEf); _productDapperRepository.GetListPaged(x => x.Name == "Pants", 1, 10, true, product => product.Name, product => product.Color); }
public void DoSomeStuff() { using (IUnitOfWorkCompleteHandle uow = _unitOfWorkManager.Begin()) { Logger.Debug("Uow Began!"); _personRepository.Insert(new Person("Oğuzhan")); _personRepository.Insert(new Person("Ekmek")); _animalRepository.Insert(new Animal("Kuş")); _animalRepository.Insert(new Animal("Kedi")); _animalDbContextProvider.GetDbContext().Animals.Add(new Animal("Kelebek")); _unitOfWorkManager.Current.SaveChanges(); Person personCache = _cacheManager.GetCache(DemoCacheName.Demo).Get("person", () => _personRepository.FirstOrDefault(x => x.Name == "Oğuzhan")); Person person = _personRepository.FirstOrDefault(x => x.Name == "Oğuzhan"); Animal animal = _animalRepository.FirstOrDefault(x => x.Name == "Kuş"); #region DAPPER var list = new List <string> { "elma", "armut" }; ExpressionStarter <Animal> predicate = PredicateBuilder.New <Animal>(); predicate.And(x => x.Name == "Kuş"); IEnumerable <Animal> birdsSet = _animalDapperRepository.GetSet(new { Name = "Kuş" }, 0, 10, "Id"); IEnumerable <Person> personFromDapper = _personDapperRepository.GetList(new { Name = "Oğuzhan" }); IEnumerable <Animal> birdsFromExpression = _animalDapperRepository.GetSet(predicate, 0, 10, "Id"); IEnumerable <Animal> birdsPagedFromExpression = _animalDapperRepository.GetListPaged(x => x.Name == "Kuş", 0, 10, "Name"); IEnumerable <Person> personFromDapperExpression = _personDapperRepository.GetList(x => x.Name.Contains("Oğuzhan")); int birdCount = _animalDapperRepository.Count(x => x.Name == "Kuş"); var personAnimal = _animalDapperRepository.Query <PersonAnimal>("select Name as PersonName,'Zürafa' as AnimalName from Person with(nolock) where name=@name", new { name = "Oğuzhan" }) .MapTo <List <PersonAnimalDto> >(); birdsFromExpression.ToList(); birdsPagedFromExpression.ToList(); birdsSet.ToList(); IEnumerable <Person> person2FromDapper = _personDapperRepository.Query("select * from Person with(nolock) where name =@name", new { name = "Oğuzhan" }); #endregion Person person2Cache = _cacheManager.GetCache(DemoCacheName.Demo).Get("person", () => _personRepository.FirstOrDefault(x => x.Name == "Oğuzhan")); Person oguzhan = _personRepository.Nolocking(persons => persons.FirstOrDefault(x => x.Name == "Oğuzhan")); Person oguzhan2 = _personRepository.FirstOrDefault(x => x.Name == "Oğuzhan"); uow.Complete(); _messageBus.Publish <IPersonAddedMessage>(new PersonAddedMessage { Name = "Oğuzhan", CorrelationId = NewId.NextGuid() }); _hangfireBackgroundJobManager.EnqueueAsync <SimpleBackgroundJob, SimpleBackgroundJobArgs>(new SimpleBackgroundJobArgs { Message = "Oğuzhan" }); Logger.Debug("Uow End!"); } }
public IEnumerable <ObjectDTO> GetList(Expression <Func <TEntity, bool> > predicate) { return(_mapper.Map <IEnumerable <ObjectDTO> >(_dapperRepository.GetList(predicate)).AsEnumerable()); }
public void Test() { TestClass t1 = new TestClass(); t1.Id = 1; t1.Data = "test1"; TestClass t2 = new TestClass(); t2.Id = 2; t2.Data = "test2"; t2.FakeNameColumn = "2222"; var result = repo.Insert(t1); Assert.Equal(1, result); result = repo.Insert(t2); Assert.Equal(1, result); var item1 = repo.GetItem(new TestClass() { Id = 1 }); Assert.Equal("test1", item1.Data); var item2 = repo.GetItem(new TestClass() { Id = 2 }); Assert.Equal("test2", item2.Data); // update 테스트 t1.Data = "test1-1"; t1.FakeNameColumn = "1111"; result = repo.Update(t1); Assert.Equal(1, result); item1 = repo.GetItem(new TestClass() { Id = 1 }); Assert.Equal("test1-1", item1.Data); // 조건 리스트 var list = repo.GetList(t1, new ParamColumn("Id", "<", "3")); Assert.Equal(2, list.Count); // 조건 아이템 var item4 = repo.GetItem(t1, new ParamColumn(nameof(t1.LDate), "is not null", "")); Assert.Equal(1, item4.Id); item4 = repo.GetItem(t1, new ParamColumn(nameof(t1.LDate), "is null", null)); Assert.Equal(2, item4.Id); item4 = repo.GetItem(t1, new ParamColumn(nameof(t1.Data), "like", "'%1-1'")); Assert.Equal(1, item4.Id); // Delete result = repo.Delete(new TestClass() { Id = 1, Data = "test1-1" }); Assert.Equal(1, result); result = repo.Delete(new TestClass() { Id = 2 }); Assert.Equal(1, result); }
public IList <Table> GetList <Table>(string conditions, DynamicParameters parame) { return(_dapperRepository.GetList <Table>(conditions, parame)); }