.net entity framework 泛型 更新与增加记录

 

 

static public bool SaveOrUpdate<T>(T entity) where T: class
        {
            bool result = false;
            using (wechatEntities context = new wechatEntities())
            {
                Type t = entity.GetType();  
                PropertyInfo[] properts = t.GetProperties();  
                PropertyInfo p = t.GetProperty("Id");
                if (p == null)
                    p = t.GetProperty("id");
                if (p == null)
                    p = t.GetProperty("ID");
                if (p == null)
                {
                    return result;
                }
                var id = Convert.ToInt32(p.GetValue(entity,null));
                

                if (id == 0)
                {
                    context.Set(entity.GetType()).Add(entity);
                }
                else
                {
                    context.Entry(entity).State = System.Data.EntityState.Modified;
                }
                result = true;
                context.SaveChanges();
            }
            return result; 
        }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。