zoukankan      html  css  js  c++  java
  • Repository

    namespace MyRepository.Domain.Infrastructure
    {
        public class Repository<TEntity> : IRepository<TEntity> where TEntity : class
        {
            protected BookStoreDbContext dbContext;
            protected DbSet<TEntity> dbSet;
    
            public Repository(BookStoreDbContext dbContext)
            {
                this.dbContext = dbContext;
                this.dbSet = dbContext.Set<TEntity>();
            }
            public void Insert(TEntity entity)
            {
                dbSet.Add(entity);
            }
            public void Update(TEntity entity)
            {
                dbSet.Attach(entity);
                dbContext.Entry(entity).State = EntityState.Modified;
            }
            public void Delete(TEntity entity)
            {
                if (dbContext.Entry(entity).State == EntityState.Detached)
                {
                    dbSet.Attach(entity);
                }
                dbSet.Remove(entity);
            }
        }
    }

    /// <summary>
        /// 用于对数据的保存操作
        /// </summary>
        public class UnitOfWork : IUnitOfWork
        {
            private  readonly BookStoreDbContext _context;
            public DbContext Context
            {
                get { return _context; }
            }

            public event EventHandler Disposed;

            public bool IsDisposed { get; private set; }
            public void Dispose()
            {
                Dispose(true);
            }
            public virtual void Dispose(bool disposing)
            {
                lock (this)
                {
                    if (disposing && !IsDisposed)
                    {
                        _context.Dispose();
                        var evt = Disposed;
                        if (evt != null) evt(this, EventArgs.Empty);
                        Disposed = null;
                        IsDisposed = true;
                        GC.SuppressFinalize(this);
                    }
                }
            }

            public UnitOfWork(BookStoreDbContext context)
            {
                _context = context;
            }

            public void Save()
            {
                _context.SaveChanges();
            }

            ~UnitOfWork()
            {
                Dispose(false);
            }
        }

     http://www.cnblogs.com/zhongxinWang/archive/2012/02/22/2360283.html

  • 相关阅读:
    算符优先分析
    自下而上语法分析
    递归下降语法分析
    LL(1)文法的判断,递归下降分析程序
    消除左递归
    4.K均值算法--应用
    2.机器学习相关数学基础
    K均值算法
    机器学习概述
    算符优先分析
  • 原文地址:https://www.cnblogs.com/shiningrise/p/4128482.html
Copyright © 2011-2022 走看看