public void select_join_test()
        {
            var srcSql = @"SELECT blog.ID, blog.BLOG_NAME, blog.BLOG_AUTHOR, blog.WRITE_DT, detail.CONTENTS
FROM Blog blog JOIN BlogDetail detail
ON blog.ID=detail.BLOG_ID
AND blog.BLOG_NAME=detail.CONTENTS
WHERE blog.ID=1
AND detail.ID=1
AND CONTENTS LIKE ('test')
AND ID IN (1, 2, 3, 4)
";

            var sqlExpression = new JSqlExpression();
            var sql           = sqlExpression.Join <Blog, BlogDetail>((blog, detail) => new {
                ID          = blog.ID,
                BLOG_NAME   = blog.BLOG_NAME,
                BLOG_AUTHOR = blog.BLOG_AUTHOR,
                WRITE_DT    = blog.WRITE_DT,
                CONTENTS    = detail.CONTENTS
            }).On((blog, detail) => blog.ID == detail.BLOG_ID)
                                .OnAnd((blog, detail) => blog.BLOG_NAME == detail.CONTENTS)
                                .Where((blog, detail) => blog.ID == 1)
                                .And((blog, detail) => detail.ID == 1)
                                .And((blog, detail) => Sql.Like(detail.CONTENTS, "test"))
                                .And((blog, detail) => Sql.In(detail.ID, new[] { 1, 2, 3, 4 }))
                                .Build();

            Assert.AreEqual(srcSql, sql);
        }
        public void select_all_test()
        {
            var srcSql        = @"SELECT ID, BLOG_NAME, BLOG_AUTHOR, WRITE_DT
FROM Blog
";
            var sqlExpression = new JSqlExpression();
            var sql           = sqlExpression.Select <Blog>().Build();

            Assert.AreEqual(srcSql, sql);
        }
        public void select_query_test()
        {
            var srcSql        = @"SELECT BLOG_NAME, BLOG_AUTHOR
FROM Blog
WHERE ID = 1
AND BLOG_NAME = 'test'
AND BLOG_NAME LIKE ('test')
AND ID IN (1, 2, 3, 4)
";
            var sqlExpression = new JSqlExpression();
            var sql           = sqlExpression.Select <Blog>(m => new { m.BLOG_NAME, m.BLOG_AUTHOR })
                                .Where(m => m.ID == 1)
                                .And(m => m.BLOG_NAME == "test")
                                .And(m => Sql.Like(m.BLOG_NAME, "test"))
                                .And(m => Sql.In(m.ID, new[] { 1, 2, 3, 4 }))
                                .Build();

            Assert.AreEqual(srcSql, sql);
        }