Exemple #1
0
        public object[] GetParameters()
        {
            if (query != null)
            {
                return(query.GetParameters());
            }
            var copy = new List <object>(values);

            if (IsIdentityInsert())
            {
                copy.RemoveAt(identityPosition);
            }
            else if (returnIdentity)
            {
                copy.Add(copy[identityPosition]);
            }
            return(copy.ToArray());
        }
Exemple #2
0
        public void SqlUnionTest()
        {
            var union = new SqlQuery("t1").Select("c1").Where("c1", 4)
                .Union(new SqlQuery("t2").Select("c2").Where("c2", 7));

            Assert.AreEqual("select c1 from t1 where c1 = ? union select c2 from t2 where c2 = ?", union.ToString());
            Assert.AreEqual(4, union.GetParameters()[0]);
            Assert.AreEqual(7, union.GetParameters()[1]);
        }
 private static string BuildKey(SqlQuery q)
 {
     var s = new StringBuilder(q.ToString());
     foreach (var p in q.GetParameters())
     {
         if (p is IEnumerable)
         {
             foreach (var v in (IEnumerable)p)
             {
                 s.Append(v);
             }
         }
         else
         {
             s.Append(p);
         }
     }
     s.Append(SecurityContext.CurrentAccount.ID);//Append current account
     return Hasher.Base64Hash(s.ToString());
 }