Beispiel #1
0
        /// <summary>
        /// 更新指定字段
        /// </summary>
        /// <param name="item">实体对象</param>
        /// <param name="paramField">字段</param>
        public void UpdateField(TEntity item, params string[] paramField)
        {
            using (DBContext <TEntity> context = new DBContext <TEntity>())
            {
                try
                {
                    ObjectContext dbcontext = ((IObjectContextAdapter)context).ObjectContext;

                    context.Set <TEntity>().Attach(item);


                    ObjectStateEntry stateEntry = dbcontext.ObjectStateManager.GetObjectStateEntry(item);
                    foreach (string field in paramField)
                    {
                        stateEntry.SetModifiedProperty(field);
                    }

                    stateEntry.SetModified();

                    dbcontext.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    throw ex;
                }
            }
        }