/// <summary>
        ///     Initializes a new instance of the <see cref="InternalSqlSetQuery" /> class.
        /// </summary>
        /// <param name="set"> The set. </param>
        /// <param name="sql"> The SQL. </param>
        /// <param name="isNoTracking">
        ///     If set to <c>true</c> then the entities will not be tracked.
        /// </param>
        /// <param name="streaming"> Whether the query is streaming or buffering. </param>
        /// <param name="parameters"> The parameters. </param>
        internal InternalSqlSetQuery(IInternalSet set, string sql, bool isNoTracking, bool streaming, object[] parameters)
            : base(sql, streaming, parameters)
        {
            DebugCheck.NotNull(set);

            _set = set;
            _isNoTracking = isNoTracking;
        }
        /// <summary>
        ///     Initializes a new instance of the <see cref = "InternalSqlSetQuery" /> class.
        /// </summary>
        /// <param name = "set">The set.</param>
        /// <param name = "sql">The SQL.</param>
        /// <param name = "isNoTracking">if set to <c>true</c> then the entities will not be tracked.</param>
        /// <param name = "parameters">The parameters.</param>
        internal InternalSqlSetQuery(IInternalSet set, string sql, bool isNoTracking, object[] parameters)
            : base(sql, parameters)
        {
            Contract.Requires(set != null);

            _set = set;
            _isNoTracking = isNoTracking;
        }
Beispiel #3
0
 internal InternalSqlSetQuery(
     IInternalSet set,
     string sql,
     bool isNoTracking,
     object[] parameters)
     : this(set, sql, isNoTracking, new bool?(), parameters)
 {
 }
        private InternalSqlSetQuery(IInternalSet set, string sql, bool isNoTracking, bool?streaming, object[] parameters)
            : base(sql, streaming, parameters)
        {
            DebugCheck.NotNull(set);

            _set          = set;
            _isNoTracking = isNoTracking;
        }
Beispiel #5
0
 private InternalSqlSetQuery(
     IInternalSet set,
     string sql,
     bool isNoTracking,
     bool?streaming,
     object[] parameters)
     : base(sql, streaming, parameters)
 {
     this._set          = set;
     this._isNoTracking = isNoTracking;
 }
Beispiel #6
0
        private IInternalSetAdapter CreateInternalSet(
            Type entityType,
            IInternalSet internalSet)
        {
            Func <InternalContext, IInternalSet, IInternalSetAdapter> func;

            if (!InternalContext._setFactories.TryGetValue(entityType, out func))
            {
                if (entityType.IsValueType())
                {
                    throw Error.DbSet_EntityTypeNotInModel((object)entityType.Name);
                }
                func = (Func <InternalContext, IInternalSet, IInternalSetAdapter>)Delegate.CreateDelegate(typeof(Func <InternalContext, IInternalSet, IInternalSetAdapter>), typeof(InternalDbSet <>).MakeGenericType(entityType).GetDeclaredMethod("Create", typeof(InternalContext), typeof(IInternalSet)));
                InternalContext._setFactories.TryAdd(entityType, func);
            }
            return(func(this, internalSet));
        }
Beispiel #7
0
 // <summary>
 // Creates an instance of this class.  This method is used with CreateDelegate to cache a delegate
 // that can create a generic instance without calling MakeGenericType every time.
 // </summary>
 // <param name="internalSet"> The internal set to wrap, or null if a new internal set should be created. </param>
 // <returns> The set. </returns>
 public static InternalDbSet <TEntity> Create(InternalContext internalContext, IInternalSet internalSet)
 {
     return
         (new InternalDbSet <TEntity>(
              (IInternalSet <TEntity>)internalSet ?? new InternalSet <TEntity>(internalContext)));
 }
Beispiel #8
0
        // <summary>
        // Creates a new set that will be backed by the given internal set.
        // </summary>
        // <param name="internalSet"> The internal set. </param>
        public InternalDbSet(IInternalSet <TEntity> internalSet)
        {
            DebugCheck.NotNull(internalSet);

            _internalSet = internalSet;
        }
 // <summary>
 // Initializes a new instance of the <see cref="InternalSqlSetQuery" /> class.
 // </summary>
 // <param name="set"> The set. </param>
 // <param name="sql"> The SQL. </param>
 // <param name="isNoTracking">
 // If set to <c>true</c> then the entities will not be tracked.
 // </param>
 // <param name="parameters"> The parameters. </param>
 internal InternalSqlSetQuery(IInternalSet set, string sql, bool isNoTracking, object[] parameters) : this(set, sql, isNoTracking, /*streaming:*/ null, parameters)
 {
 }
Beispiel #10
0
 public static InternalDbSet <TEntity> Create(
     InternalContext internalContext,
     IInternalSet internalSet)
 {
     return(new InternalDbSet <TEntity>((IInternalSet <TEntity>)internalSet ?? (IInternalSet <TEntity>) new System.Data.Entity.Internal.Linq.InternalSet <TEntity>(internalContext)));
 }
Beispiel #11
0
 public InternalDbSet(IInternalSet <TEntity> internalSet)
 {
     this._internalSet = internalSet;
 }
 // <summary>
 // Initializes a new instance of the <see cref="InternalSqlSetQuery" /> class.
 // </summary>
 // <param name="set"> The set. </param>
 // <param name="sql"> The SQL. </param>
 // <param name="isNoTracking">
 // If set to <c>true</c> then the entities will not be tracked.
 // </param>
 // <param name="parameters"> The parameters. </param>
 internal InternalSqlSetQuery(IInternalSet set, string sql, bool isNoTracking, object[] parameters) : this(set, sql, isNoTracking, /*streaming:*/ null, parameters) {}