public void Where() { var query = new SQLQuery<Order>() .From .InnerJoin<Customer>(x => x.CustomerID, x => x.ID) .LeftOuterJoin<OrderItem>(x => x.ID, x => x.OrderID, false) .Where.Equal<Customer>(x => x.Name, "Tim") .Or .START .Equal<Customer, string>(x => x.Name, "Julia") .And .Equal(x => x.ID, 5) .END .Return(); QueryStatement statement = query.Build(); Assert.AreEqual(3, statement.Parameters.Length); }
public void Select() { var query = new SQLQuery<Order>() .Select.Add(x => x.CustomerID).Add(x => x.OrderDate) .Return(); string sql = query.Build().SQL; Assert.IsTrue(sql.Contains("a.[CustomerID]")); Assert.IsTrue(sql.Contains("a.[OrderDate]")); }
public void LeftJoin() { var query = new SQLQuery<Order>() .From.InnerJoin<Customer>(x => x.CustomerID, x => x.ID, false) .LeftOuterJoin<OrderItem>(x => x.ID, x => x.OrderID) .LeftOuterJoin<OrderItem, Product, int>(x => x.ProductID, x => x.ID) .Return(); QueryStatement statement = query.Build(); Assert.IsTrue(statement.SQL.Contains("LEFT OUTER JOIN")); }
public void OrderBy() { var query = new SQLQuery<Order>() .From .InnerJoin<Customer>(x => x.CustomerID, x => x.ID) .LeftOuterJoin<OrderItem>(x => x.ID, x => x.OrderID, false) .OrderBy.Ascending<Customer>(x => x.Name) .Descending(x => x.OrderDate) .Return(); string sql = query.Build().SQL; Assert.IsTrue(sql.Contains("b.[Name]")); Assert.IsTrue(sql.Contains("a.[OrderDate] DESC")); }
public void InnerJoin() { var query = new SQLQuery<Order>() .From .InnerJoin<Customer>(x => x.CustomerID, x => x.ID) .Return(); QueryStatement statement = query.Build(); }