public void Disjunction() { ICriteriaBuilder cb = EJBContainer.Instance.EntityManager.GetCriteriaBuilder(); ICriteriaQuery cq = cb.CreateQuery(); IRoot r = cq.From("Students"); IPredicate criteria = cb.Disjunction(); IParameterExpression pr = cb.Parameter(System.Data.SqlDbType.Int, "3"); criteria = cb.Or(criteria, cb.Equal(r.Get("SequenceNumber"), pr) ); pr = cb.Parameter(System.Data.SqlDbType.Int, "'Jonas'"); criteria = cb.Or(criteria, cb.Equal(r.Get("FirstName"), pr) ); pr = cb.Parameter(System.Data.SqlDbType.Int, "'Petraitis'"); criteria = cb.Or(criteria, cb.Equal(r.Get("LastName"), pr) ); Assert.AreEqual("Students.SequenceNumber = 3 OR Students.FirstName = 'Jonas' OR Students.LastName = 'Petraitis'", criteria.ExpressionValue); }
public void Or() { ICriteriaBuilder cb = EJBContainer.Instance.EntityManager.GetCriteriaBuilder(); ICriteriaQuery cc = cb.CreateQuery(); IRoot r = cc.From("Students"); IPredicate left = cb.Equal(r.Get("Name"), cb.Literal("'Jonas'")); IPredicate right = cb.Equal(r.Get("Faculty_Id"), cb.Literal("3")); IExpression expr = cb.Or(left, right); Assert.AreEqual("Students.Name = 'Jonas' OR Students.Faculty_Id = 3", expr.ExpressionValue); }
public void EqualWithoutQuotes() { ICriteriaBuilder cb = EJBContainer.Instance.EntityManager.GetCriteriaBuilder(); ICriteriaQuery cq = cb.CreateQuery(); IRoot r = cq.From("Students"); IPredicate exp = cb.Equal(r.Get("FirstName"), r.Get("LastName")); Assert.AreEqual("Students.FirstName = Students.LastName", exp.ExpressionValue); }
public void EqualWithQuotes() { ICriteriaBuilder cb = EJBContainer.Instance.EntityManager.GetCriteriaBuilder(); ICriteriaQuery cq = cb.CreateQuery(); IRoot r = cq.From("Students"); IPredicate exp = cb.Equal(cb.Literal("'FirstName'"), cb.Literal("'Jonas'")); Assert.AreEqual("'FirstName' = 'Jonas'", exp.ExpressionValue); }
public void SelectWhere() { ICriteriaBuilder cb = EJBContainer.Instance.EntityManager.GetCriteriaBuilder(); ICriteriaQuery cc = cb.CreateQuery(); IRoot r = cc.From("Students"); cc.Select(r.Get("FirstName")); cc.Where(cb.Equal(r.Get("FirstName"), cb.Literal("'Jonas'"))); Assert.AreEqual("SELECT Students.FirstName FROM Students WHERE Students.FirstName = 'Jonas'", cc.ExpressionValue); }
public void ParameterExpressoin_IntType() { ICriteriaBuilder cb = EJBContainer.Instance.EntityManager.GetCriteriaBuilder(); ICriteriaQuery cq = cb.CreateQuery(); IRoot r = cq.From("Students"); IParameterExpression pr = cb.Parameter(System.Data.SqlDbType.Int, "3"); IPredicate exp = cb.Equal(r.Get("SequenceNumber"), pr); Assert.AreEqual("Students.SequenceNumber = 3", exp.ExpressionValue); }
public void ParameterExpressoin_StringType() { ICriteriaBuilder cb = EJBContainer.Instance.EntityManager.GetCriteriaBuilder(); ICriteriaQuery cq = cb.CreateQuery(); IRoot r = cq.From("Students"); IParameterExpression pr = cb.Parameter(System.Data.SqlDbType.VarChar, "Jonas"); IPredicate exp = cb.Equal(r.Get("FirstName"), pr); Assert.AreEqual("Students.FirstName = 'Jonas'", exp.ExpressionValue); }
public void Not() { ICriteriaBuilder cb = EJBContainer.Instance.EntityManager.GetCriteriaBuilder(); ICriteriaQuery cq = cb.CreateQuery(); IRoot r = cq.From("Students"); IPredicate exp = cb.Equal(r.Get("SequenceNumber"), cb.Literal("2")); IPredicate pred = cb.Not(exp); Assert.AreEqual("NOT (Students.SequenceNumber = 2)", pred.ExpressionValue); }