Beispiel #1
0
 public bool TryPeek(out IFragmentTarget target)
 {
     if (this.Targets.Count == 0)
     {
         target = default(IFragmentTarget);
         return(false);
     }
     target = this.Targets.Peek();
     return(true);
 }
Beispiel #2
0
        public static byte GetPriority(IFragmentTarget target)
        {
            var priority = default(byte);

            if (!Priorities.TryGetValue(target.FragmentType, out priority))
            {
                throw new NotImplementedException();
            }
            return(priority);
        }
Beispiel #3
0
        protected virtual void WriteAssociativeExpression(IFragmentTarget target)
        {
            var writer = this.Peek as ISqlQueryWriter;

            if (writer == null)
            {
                throw new NotImplementedException();
            }
            writer.Builder.Append(target.CommandText);
        }
Beispiel #4
0
        protected virtual bool IsAssociativeExpression(IFragmentTarget target)
        {
            var writer = target as ISqlQueryWriter;

            if (writer == null)
            {
                return(false);
            }
            return(writer.GetRenderContext().HasFlag(RenderHints.AssociativeExpression));
        }
Beispiel #5
0
 protected virtual void ImportConstants(IFragmentTarget target)
 {
     foreach (var key in target.Constants.Keys)
     {
         var value = target.Constants[key];
         if (value != null)
         {
             var type = value.GetType();
             if (!type.IsScalar())
             {
                 throw new InvalidOperationException(string.Format("Constant with name \"{0}\" has invalid type \"{1}\".", key, type.FullName));
             }
         }
         this.Constants[key] = target.Constants[key];
     }
 }
 public SqlServerQueryFragment(IFragmentTarget target)
     : base(target)
 {
 }
Beispiel #7
0
 public SQLiteQueryFragment(IFragmentTarget target) : base(target)
 {
 }
Beispiel #8
0
 protected override SqlQueryFragment CreateQueryFragment(IFragmentTarget target)
 {
     return(new SQLiteQueryFragment(target));
 }
Beispiel #9
0
 public SqlCeQueryFragment(IFragmentTarget target)
     : base(target)
 {
 }
Beispiel #10
0
 public SqlQueryFragment(IFragmentTarget target)
     : this(target.CommandText, GetPriority(target))
 {
 }
Beispiel #11
0
 public IFragmentTarget Push(IFragmentTarget target)
 {
     this.Targets.Push(target);
     return(target);
 }
Beispiel #12
0
 protected abstract SqlQueryFragment CreateQueryFragment(IFragmentTarget target);