private static void InitializationPropValue() { using (TaoBaoDataContext dct = new TaoBaoDataContext()) { //清空TB_PropValue表 var allPropValue = dct.TB_PropValues; List<PropValue> propvaluelist = new List<PropValue>(); var itemcatlist = dct.TB_ItemCats; var itemproplist = dct.TB_ItemProps; List<PropValue> propvalueinsert = new List<PropValue>(); //获取PropValue需要的字段. string fieldspropvalue = @"cid,pid,prop_name,vid,name,name_alias,status,sort_order"; foreach (var item in itemcatlist) { if (item.IsParent == false) { //如果是叶子类目 调用API获取属性列表 var tempitemprop = itemproplist.Where(i => i.Cid == item.Cid).ToList(); //如果是叶子类目,根据获取的属性列表 string pids = GetItemPropIDS(tempitemprop); List<PropValue> tempprovalue = ProductService.GetItempropValues(fieldspropvalue, item.Cid, pids, 1, null); propvaluelist.AddRange(tempprovalue); } } //先判断数据库里是否存在,不存在的数据才需要插入 if (allPropValue != null && allPropValue.Count() > 0) { foreach (var propvalue in propvaluelist) { if (allPropValue.Where(i => i.Vid == propvalue.Vid && i.Pid == propvalue.Pid && i.Cid == propvalue.Cid && i.Name == propvalue.Name).FirstOrDefault() == null) { propvalueinsert.Add(propvalue); } } } else { propvalueinsert.AddRange(propvaluelist); } if (propvalueinsert != null && propvalueinsert.Count > 0) { //插入TB_PropValue表 int i = 0; foreach (var item in propvaluelist) { i++; TB_PropValue obj = new TB_PropValue(); obj.ID = Guid.NewGuid(); obj.Cid = item.Cid; obj.IsParent = item.IsParent; if (string.IsNullOrEmpty(item.ModifiedTime) == false) { obj.ModifiedTime = DateTime.Parse(item.ModifiedTime); } obj.ModifiedType = item.ModifiedType; obj.Name = item.Name; obj.NameAlias = item.NameAlias; obj.Pid = item.Pid; obj.PropName = item.PropName; obj.SortOrder = item.SortOrder; obj.Status = item.Status; obj.Vid = item.Vid; dct.TB_PropValues.InsertOnSubmit(obj); if (i == 1000) { dct.SubmitChanges(); i = 0; } } } } }
partial void UpdateTB_PropValue(TB_PropValue instance);
partial void DeleteTB_PropValue(TB_PropValue instance);
partial void InsertTB_PropValue(TB_PropValue instance);