/// <summary> /// Executes a T-SQL against the database /// </summary> /// <param name="query"></param> /// <returns></returns> public virtual bool Query(string query, int timeout = 0) { if (string.IsNullOrEmpty(query)) { return(false); } using (ACTEntities context = new ACTEntities()) { if (timeout > 0) { context.Database.CommandTimeout = timeout; } context.Database.ExecuteSqlCommand(query); } return(true); }
/// <summary> /// Gets an entity using the specified id /// </summary> /// <param name="value">Id of the entity to be fetched</param> /// <returns></returns> public virtual T GetById(int id) { ParameterExpression itemParameter = Expression.Parameter(typeof(T), "item"); var whereExpression = Expression.Lambda <Func <T, bool> > ( Expression.Equal(Expression.Property(itemParameter, "Id"), Expression.Constant(id)), new[] { itemParameter } ); context.Configuration.LazyLoadingEnabled = true; context.Configuration.ProxyCreationEnabled = true; T item = context.Set <T>().Where(whereExpression).FirstOrDefault(); using (ACTEntities db = new ACTEntities()) { db.Configuration.LazyLoadingEnabled = false; db.Configuration.ProxyCreationEnabled = false; OldObject = db.Set <T>().AsNoTracking().Where(whereExpression).FirstOrDefault(); } return(item); }