/// <summary> /// 新增(未提交保存) /// 作者:曾璐 /// </summary> /// <param name="model"></param> /// <returns></returns> public virtual XuHos.DAL.EF.DBEntities PreInsert(XuHos.DAL.EF.DBEntities db, params TEntity[] model) { if (_PK.Count <= 0) { throw new Exception("没有设置主键"); } if (_PK.Count > 1) { throw new Exception("不支持复合主键"); } Type type = typeof(TEntity); var prop = type.GetProperty(_PK[0]); for (int i = 0; i < model.Length; i++) { string ID = prop.GetValue(model[i], null) as string; //设置主键 if (String.IsNullOrWhiteSpace(ID)) { ID = Guid.NewGuid().ToString("N"); prop.SetValue(model[i], ID); } db.Set <TEntity>().Add(model[i]); } return(db); }
/// <summary> /// 更新(未提交保存) /// 作者:曾璐 /// </summary> /// <param name="model"></param> /// <returns></returns> public virtual XuHos.DAL.EF.DBEntities PreUpdate(XuHos.DAL.EF.DBEntities db, TEntity model) { //if (db.Entry<TEntity>(model).State == EntityState.Detached) //{ // db.Set<TEntity>().Attach(model); //} var entry = db.Entry <TEntity>(model); if (entry.State != System.Data.Entity.EntityState.Modified) { entry.State = System.Data.Entity.EntityState.Modified; } return(db); }