コード例 #1
0
        public void TestSelectOperationPostGres()
        {
            var connection = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["postgres"].ConnectionString);

            connection.Open();

            using (var scope = new TransactionScope())
            {
                using (var conn = connection)
                {
                    IScriptBuilder builder = new ScriptPostGresBuilder();

                    var cliente = new Cliente()
                    {
                        Id = 1, Nome = "Moisés", Ativo = true
                    };
                    var cliente2 = new Cliente()
                    {
                        Id = 2, Nome = "José", Ativo = true
                    };

                    var createTableScript = builder.GetCreateTableCommand <Cliente>();

                    var insertScript1 = builder.GetInsertCommand <Cliente>(cliente);
                    var insertScript2 = builder.GetInsertCommand <Cliente>(cliente2);

                    builder.Execute(createTableScript, conn);
                    builder.Execute(insertScript1, conn);
                    builder.Execute(insertScript2, conn);

                    var clientes = conn.GetAll <Cliente>();
                    Assert.AreEqual(2, clientes.Count());
                    Assert.AreEqual("Moisés", clientes.ToList()[0].Nome);
                    Assert.AreEqual("José", clientes.ToList()[1].Nome);

                    conn.Execute("drop table \"Cliente\"");
                }
            }
        }
コード例 #2
0
        public void TestPostGresInsertScript()
        {
            IScriptBuilder builder = new ScriptPostGresBuilder();

            var cliente = new Cliente()
            {
                Id = 1, Nome = "Moisés", Ativo = true, TotalPedidos = 20, ValorTotalNotasFiscais = 2000.95, Credito = 10, UltimoValorDeCompra = 1000.95m
            };

            var sqlDelete         = builder.GetInsertCommand <Cliente>(cliente);
            var resultadoEsperado = "insert into \"Cliente\" (\"Nome\", \"Ativo\", \"TotalPedidos\", \"ValorTotalNotasFiscais\", \"Credito\", \"UltimoValorDeCompra\") values ('Moisés', true, 20, 2000.95, 10, 1000.95)";

            Assert.AreEqual(resultadoEsperado, sqlDelete);
        }