예제 #1
0
        /// <summary>
        /// Функция определяет событие, произошедшее с элементом списка: добавлен или удалён.
        /// Также производит сохранение.
        /// </summary>
        /// <typeparam name="T">Тип объектов в коллекции.</typeparam>
        /// <param name="context">Контекст для сохранения данных.</param>
        /// <param name="e">Произошедшее событие.</param>
        public static void ItemCollectionChanged <T>(CodeFirstContext context, NotifyCollectionChangedEventArgs e)
            where T : class
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                context.Set <T>().AddRange(e.NewItems.Cast <T>());
                break;

            case NotifyCollectionChangedAction.Remove:
                context.Set <T>().RemoveRange(e.OldItems.Cast <T>());
                break;

            default:
                break;
            }

            context.SaveChanges();
        }
예제 #2
0
 public GenericRepositoryAsync(CodeFirstContext dbContext)
 {
     _dbContext = dbContext;
     _entities  = _dbContext.Set <T>();
 }
예제 #3
0
 protected RepositoryBase(CodeFirstContext context)
 {
     Context = context;
     Table   = Context.Set <T>();
 }
예제 #4
0
        public List <T> ExecuteCustomStoredProcByParam(string procName, object[] parameter)
        {
            var query = _dataContext.Set <T>().SqlQuery(procName, parameter).ToList();

            return(query);
        }
예제 #5
0
 public BaseRepository(CodeFirstContext context)
 {
     _entities = context.Set <T>();
 }