/// <summary>
 /// 初始化 属性值表 TB_PropValue
 /// </summary>
 public void InitializationPropValue()
 {
     using (CatalogDataContext dct = new CatalogDataContext())
     {
         //清空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);