Пример #1
0
        //[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);
        }
Пример #2
0
        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!");
            }
        }
Пример #3
0
 public IEnumerable <ObjectDTO> GetList(Expression <Func <TEntity, bool> > predicate)
 {
     return(_mapper.Map <IEnumerable <ObjectDTO> >(_dapperRepository.GetList(predicate)).AsEnumerable());
 }
Пример #4
0
        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);
        }
Пример #5
0
 public IList <Table> GetList <Table>(string conditions, DynamicParameters parame)
 {
     return(_dapperRepository.GetList <Table>(conditions, parame));
 }