示例#1
0
        public static int UpdateEntryByProperty <T>(this MyDataContext _db, T entity, string EntityKey) where T : class
        {
            DbSet <T> dbSet = _db.Set <T>();

            dbSet.Attach(entity);
            MemberInfo[]             members    = entity.GetType().GetMembers();
            IEnumerable <MemberInfo> properties = members.Where(m => m.MemberType == MemberTypes.Property && m.Name != EntityKey);

            foreach (MemberInfo mInfo in properties)
            {
                object o = entity.GetType().InvokeMember(mInfo.Name, BindingFlags.GetProperty, null, entity, null);
                if (o != null)
                {
                    if (o.GetType().IsPrimitive || o.GetType().IsPublic)
                    {
                        try
                        {
                            DbEntityEntry entry = _db.Entry <T>(entity);
                            entry.Property(mInfo.Name).IsModified = true;
                        }
                        catch
                        {
                        }
                    }
                }
            }

            return(_db.SaveChanges());
        }
 protected virtual DataTable GetAllData()
 {
     using (var context = new MyDataContext())
     {
         var data = context.Set <T>();
         return(MyDataContext.LINQToDataTable(data));
     }
 }
    public virtual TObject Update(TObject data, int id)
    {
        if (data == null)
        {
            return(null);
        }
        TObject obj = Context.Set <TObject>().Find(id);

        if (obj != null)
        {
            Context.Entry(obj).CurrentValues.SetValues(data);
            Context.SaveChanges();
        }
        return(obj);
    }
示例#4
0
        public static int UpdateProjectByProperty <T>(this MyDataContext _db, T entity, string EntityKey) where T : class
        {
            DbSet <T> dbSet = _db.Set <T>();

            dbSet.Attach(entity);
            MemberInfo[]             members    = entity.GetType().GetMembers();
            IEnumerable <MemberInfo> properties = members.Where(m => m.MemberType == MemberTypes.Property && m.Name != EntityKey);

            foreach (MemberInfo mInfo in properties)
            {
                object o = entity.GetType().InvokeMember(mInfo.Name, BindingFlags.GetProperty, null, entity, null);
                if (o != null)
                {
                    if (o.GetType().IsPrimitive || o.GetType().IsPublic)
                    {
                        try
                        {
                            DbEntityEntry entry = _db.Entry <T>(entity);
                            entry.Property(mInfo.Name).IsModified = true;
                        }
                        catch
                        {
                        }
                    }
                }
                else
                {
                    if (mInfo.Name.ToLower() == "opening_time" || mInfo.Name.ToLower() == "checkin_time" || mInfo.Name.ToLower() == "report_effective_hours" || mInfo.Name.ToLower() == "takelook_effective_days" || mInfo.Name.ToLower() == "remarks_kind" || mInfo.Name.ToLower() == "partner_begin_time" || mInfo.Name.ToLower() == "partner_end_time" || mInfo.Name.ToLower() == "takelook_add_num" || mInfo.Name.ToLower() == "dading_add_num")
                    {
                        try
                        {
                            DbEntityEntry entry = _db.Entry <T>(entity);
                            entry.Property(mInfo.Name).IsModified = true;
                        }
                        catch
                        {
                        }
                    }
                }
            }

            return(_db.SaveChanges());
        }
示例#5
0
 public void Add(TEntity entity)
 {
     _ctx.Set <TEntity>().Add(entity);
 }