zoukankan      html  css  js  c++  java
  • EF通用CRED

        public class Operation:IDisposable
        {
            private EFContext ef {
                get { return new EFContext(); }
                }
            /// <summary>
            /// 添加一个实体对象
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="t"></param>
            public void Add<T>(T t) where T:class
            {
                ef.Set<T>().Add(t);
                ef.SaveChanges();
            }
            /// <summary>
            /// 释放掉EFContext
            /// </summary>
            public void Dispose()
            {
                if (ef != null) {
                    ef.Dispose();
                }
            }
            /// <summary>
            /// 获取实体对象的条数
            /// </summary>
            /// <typeparam name="T">实体对象类</typeparam>
            /// <param name="t">对象实例</param>
            /// <returns></returns>
            public int Count<T>(T t) where T : class 
            {
               return ef.Set<T>().Count<T>();
            }
            /// <summary>
            /// 获取实体对象的所有集合
            /// </summary>
            /// <typeparam name="T">实体类</typeparam>
            /// <returns></returns>
            public IQueryable<T> GetList<T>() where T : class 
            {
              return ef.Set<T>().AsQueryable<T>();
            }
           /// <summary>
            /// 获取实体对象的所有集合
           /// </summary>
            /// <typeparam name="T">实体类</typeparam>
           /// <param name="start">开始</param>
           /// <param name="count">行数size</param>
           /// <returns></returns>
            public IQueryable<T> GetLsit<T>(int start, int count)where T:class 
            {
              return  ef.Set<T>().Skip(start).Take(count);
            }
            /// <summary>
            /// 根据条件返回一个唯一的实体对象
            /// </summary>
            /// <typeparam name="T">实体类</typeparam>
            /// <param name="p">表达式</param>
            /// <returns></returns>
            public T Get<T>(System.Linq.Expressions.Expression<Func<T, bool>> p) where T : class 
            {
               return ef.Set<T>().SingleOrDefault<T>(p);
            }
            /// <summary>
            /// 删除指定的实体对象
            /// </summary>
            /// <typeparam name="T">实体类</typeparam>
            /// <param name="t">删除的实例对象</param>
            /// <returns>返回这个实例对象</returns>
            public T Delete<T>(T t) where T : class 
            {
                ef.Set<T>().Remove(t);
                ef.SaveChanges();
                return t;
    
            }
            /// <summary>
            /// 更新一个实体对象
            /// </summary>
            /// <typeparam name="T">实体类</typeparam>
            /// <param name="t">更新的实例对象</param>
            /// <returns>返回这个实例对象</returns>
            public T UpDate<T>(T t) where T : class 
            {
               ef.Entry<T>(t).State = System.Data.Entity.EntityState.Detached;
               ef.SaveChanges();
               return t;
             }
        }
  • 相关阅读:
    shell脚本获取当前时间
    shell脚本读取用户输入并与之交互
    shell脚本获取客户端IP
    shell脚本中重启tomcat进程
    性能测试经验
    cmdhere的两种方法
    tomcat启动多个应用时报内存溢出
    [kuangbin]带你飞之'连通图'专题
    (模板)解决带负权最短路径 Bellman-ford 与 SPFA(前者的队列优化)
    [kuangbin]带你飞之'最短路练习'专题
  • 原文地址:https://www.cnblogs.com/guoyan/p/4081636.html
Copyright © 2011-2022 走看看