Ejemplo n.º 1
0
        public static async Task M()
        {
            ServiceStack.OrmLite.SqlExpression <int> expr = null;

            expr = expr.Select <Table>(t => t.Column); // ok

            expr = expr
                   .UnsafeAnd("SQL")
                   .UnsafeFrom("SQL")
                   .UnsafeGroupBy("SQL")
                   .UnsafeHaving("SQL")
                   .UnsafeOr("SQL")
                   .UnsafeOrderBy("SQL")
                   .UnsafeSelect("SQL")
                   .UnsafeWhere("SQL");

            var untyped = expr.GetUntypedSqlExpression();

            untyped
            .UnsafeAnd("SQL")
            .UnsafeFrom("SQL")
            .UnsafeOr("SQL")
            .UnsafeSelect("SQL")
            .UnsafeWhere("SQL")
            .Where("SQL");           // safe

            System.Data.IDbConnection conn = null;

            var row = conn.SingleById <Table>(1); // ok

            var rows = conn.Select <Table>(typeof(Table), "SQL", null);

            rows = await conn.SelectAsync <Table>(typeof(Table), "SQL", null);

            var count = conn.RowCount("SQL");

            count = await conn.RowCountAsync("SQL");

            conn.ExecuteSql("SQL", null);
            await conn.ExecuteSqlAsync("SQL", null);
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            OrmLiteConfig.DialectProvider = new FirebirdOrmLiteDialectProvider();

            ServiceStack.OrmLite.SqlExpression <Company> sql =
                OrmLiteConfig.DialectProvider.SqlExpression <Company>();

            List <Object> names = new List <Object>();

            names.Add("SOME COMPANY");
            names.Add("XYZ");


            List <Object> ids = new List <Object>();

            ids.Add(1);
            ids.Add(2);

            Company company = new Company()
            {
                Id = 1, Name = "XYZ"
            };

            Console.WriteLine(company.Id.In(ids));
            Console.WriteLine(company.Name.In(names));


            sql.Where(cp => cp.Name == "On more Company");
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => cp.Name != "On more Company");
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => cp.Name == null);
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => cp.Name != null);
            Console.WriteLine(sql.WhereExpression);



            sql.Where(cp => cp.SomeBoolean);                // TODO : fix
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => !cp.SomeBoolean && 1 == 1);            //TODO : fix
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => cp.SomeBoolean && 1 == 1);            //TODO : fix
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => 1 == 1);                // TODO : fix ?
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => "1" == "1");             // TODO : fix  ?
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => "1" == "0");             // TODO : fix  ?
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => 1 != 1);                 //ok
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => cp.SomeBoolean == true);            //OK
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => cp.SomeBoolean == false);              //OK
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => !cp.SomeBoolean);                 // OK
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => (cp.Name == cp.Name));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (cp.Name == "On more Company" || cp.Id > 30));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => (cp.CreatedDate == DateTime.Today));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (cp.CreatedDate == DateTime.Today && (cp.Name == "On more Company" || cp.Id > 30)));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (cp.Name.ToUpper() == "ONE MORE COMPANY"));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (cp.Name.ToLower() == "ONE MORE COMPANY".ToLower()));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (cp.Name.ToLower().StartsWith("one")));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (cp.Name.ToUpper().EndsWith("COMPANY")));
            Console.WriteLine(sql.WhereExpression);
            sql.Where(cp => (cp.Name.ToUpper().Contains("MORE")));
            Console.WriteLine(sql.WhereExpression);
            sql.Where(cp => (cp.Name.Substring(0) == "ONE MORE COMPANY"));
            Console.WriteLine(sql.WhereExpression);
            sql.Where(cp => (cp.Name.ToUpper().Substring(0, 7) == "ONE MOR"));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => (cp.CreatedDate >= new DateTime(2000, 1, 1)));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (cp.Employees / 2 > 10.0));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (cp.Employees * 2 > 10.0 / 5));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => ((cp.Employees + 3) > (10.0 + 5)));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => ((cp.Employees - 3) > (10.0 + 5)));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => ((cp.Employees % 3) > (10.0 + 5)));
            Console.WriteLine(sql.WhereExpression);



            sql.Where(cp => (Math.Round(cp.SomeDouble) > (10.0 + 5)));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => (Math.Round(cp.SomeDouble, 3) > (10.0 + 5)));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => (Math.Floor(cp.SomeDouble) > (10.0 + 5)));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => (Math.Ceiling(cp.SomeDouble) > (10.0 + 5)));
            Console.WriteLine(sql.WhereExpression);



            sql.Where(cp => (string.Concat(cp.SomeDouble, "XYZ") == "SOME COMPANY XYZ"));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (string.Concat(cp.SomeDouble, "X", "Y", "Z") == "SOME COMPANY XYZ"));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => (string.Concat(cp.Name, "X", "Y", "Z") == "SOME COMPANY XYZ"));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (string.Concat(cp.SomeDouble.ToString(), "X", "Y", "Z") == "SOME COMPANY XYZ"));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => ((cp.CreatedDate ?? DateTime.Today) == DateTime.Today));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => ((cp.Turnover ?? 0) > 15));
            Console.WriteLine(sql.WhereExpression);

            sql.Where(cp => (Math.Abs(cp.Turnover ?? 0) > 15));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => (Sql.In(cp.Name, names)));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => (Sql.In(cp.Id, ids)));
            Console.WriteLine(sql.WhereExpression);


            sql.OrderBy(cp => cp.Name);
            Console.WriteLine("{0}", sql.OrderByExpression);

            sql.OrderBy(cp => new{ cp.Name, cp.Id });
            Console.WriteLine("{0}", sql.OrderByExpression);

            sql.OrderBy(cp => new{ cp.Name, Id = cp.Id * -1 });
            Console.WriteLine("{0}", sql.OrderByExpression);

            sql.OrderByDescending(cp => cp.Name);
            Console.WriteLine("{0}", sql.OrderByExpression);

            sql.OrderBy(cp => new{ cp.Name, X = cp.Id.Desc() });
            Console.WriteLine("{0}", sql.OrderByExpression);


            sql.Where(cp => (string.Concat(cp.Name, "_", cp.Employees) == "SOME COMPANY XYZ_2"));
            Console.WriteLine(sql.WhereExpression);


            sql.Where(cp => cp.Id != 1);
            Console.WriteLine(sql.WhereExpression);


            sql.Select(cp => new{ cp.Employees, cp.Name });
            Console.WriteLine("To Select:'{0}' ", sql.SelectExpression);

            sql.Select(cp => new{ cp.Employees, cp.Name, Some = (cp.Id * 4).As("SomeExpression") });
            Console.WriteLine("To Select:'{0}' ", sql.SelectExpression);

            sql.Select(cp => new{ cp.Employees, cp.Name, Some = cp.Turnover.Sum().As("SomeExpression") });
            Console.WriteLine("To Select:'{0}' ", sql.SelectExpression);

            sql.Select(cp => new{ cp.Employees, cp.Name, Some = DbMethods.Sum(cp.Turnover ?? 0).As("SomeExpression") });
            Console.WriteLine("To Select:'{0}' ", sql.SelectExpression);

            sql.Update(cp => new{ cp.Employees, cp.Name });
            Console.WriteLine("To Update:'{0}' ", string.Join(",", sql.UpdateFields.ToArray()));

            sql.Insert(cp => new{ cp.Id, cp.Employees, cp.Name });
            Console.WriteLine("To Insert:'{0}' ", string.Join(",", sql.InsertFields.ToArray()));


            Console.WriteLine("This is The End my friend!");
        }