Exemplo n.º 1
0
        public void Realiza_BulkInsert_Com_DataAnnotations()
        {
            // cria lista de itens a serem incluidos.
            var listaEntidades = (from i in Enumerable.Range(1, 10000)
                                  select new Modelo.EntidadeTesteDataAnnotation() {
                                      Id = i + 10000,
                                      Nome = String.Format("Nome: {0}", i),
                                      Idade = i,
                                      TipoPessoa = TipoPessoa.Juridica,
                                  }).ToList();

            // Para o sucesso na verificação do teste, verifica se a entidade possui TableAttributes.
            Verifica_Se_A_Entidade_Possui_MappingAttributes(
                listaEntidades.GetType().GetGenericArguments().First()
            );

            using (var uow = new MainUnitOfWork(TempDatabaseConnectionStringName))
            {
                // Cria BD.
                if (!uow.Database.Exists()) uow.Database.Initialize(force: false);

                var repo = new Repository<EntidadeTesteDataAnnotation>(uow);
                var qtdOriginalDeRegistrosNaTabela = repo.Contar();

                // realiza bulk insert.
                var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[TempDatabaseConnectionStringName].ConnectionString;

                var bulkobj = new SqlBulkCopy<EntidadeTesteDataAnnotation>();
                bulkobj.BulkInsert(connectionString, listaEntidades);

                // verifica a quantidade de itens inseridos
                var qtdEntidadesCadastradas = repo.Contar();
                Assert.IsTrue(qtdEntidadesCadastradas == listaEntidades.Count() + qtdOriginalDeRegistrosNaTabela, "Não adicionou os registros na tabela.");
            }
        }
Exemplo n.º 2
0
        public void Realiza_BulkInsert_Sem_DataAnnotations()
        {
            // cria lista de itens a serem incluidos.
            var listaEntidades = (from i in Enumerable.Range(1, 10000)
                                  select new Modelo.EntidadeTeste()
                                  {
                                      Id = i + 10000,
                                      Nome = String.Format("Nome: {0}", i),
                                      Idade = i,
                                      TipoPessoa = TipoPessoa.Juridica,
                                  }).ToList();

            using (var uow = new MainUnitOfWork(TempDatabaseConnectionStringName))
            {
                // Cria BD.
                if (!uow.Database.Exists()) uow.Database.Initialize(force: false);

                var repo = new Repository<EntidadeTeste>(uow);
                var qtdOriginalDeRegistrosNaTabela = repo.Contar();

                // realiza bulk insert.
                var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[TempDatabaseConnectionStringName].ConnectionString;

                var bulkobj = new SqlBulkCopy<EntidadeTeste>();
                bulkobj.NomeTabela = "TabelaEntidadesTeste";
                bulkobj.MapColumn(p => p.Nome, "NomeEntidade");
                bulkobj.MapColumn(p => p.TipoPessoa, "TipoDePessoa");
                bulkobj.Ignore(p => p.Idade);
                bulkobj.BulkInsert(connectionString, listaEntidades);

                // verifica a quantidade de itens inseridos
                var qtdEntidadesCadastradas = repo.Contar();
                Assert.IsTrue(qtdEntidadesCadastradas == listaEntidades.Count() + qtdOriginalDeRegistrosNaTabela, "Não adicionou os registros na tabela.");

            }
        }
Exemplo n.º 3
0
        public void Realiza_Insercao_Com_Repository()
        {
            // cria lista de itens a serem incluidos.
            var listaEntidades = Enumerable.Range(1, 1000).Select(id => new Modelo.EntidadeTeste()
            {
                Nome = id.ToString(), TipoPessoa = TipoPessoa.Fisica
            }).ToList();

            int? qtdOriginalDeRegistrosNaTabela = null;

            using (var uow = new MainUnitOfWork(TempDatabaseConnectionStringName))
            {
                var repo = new Repository<EntidadeTeste>(uow);
                qtdOriginalDeRegistrosNaTabela = repo.Contar();

                listaEntidades.ForEach(repo.Incluir);
                uow.Commit();
            }

            // verifica a quantidade de itens inseridos
            using (var uow = new MainUnitOfWork(TempDatabaseConnectionStringName))
            {
                //uow.Database.Initialize(false);
                var qtdEntidadesCadastradas = new Repository<EntidadeTeste>(uow).Contar();
                Assert.IsTrue(qtdEntidadesCadastradas == listaEntidades.Count() + qtdOriginalDeRegistrosNaTabela.Value, "Não adicionou os registros na tabela.");
            }
        }