/// <summary>
 /// 初始化 属性表 TB_ItemProp
 /// </summary>
 public void InitializationItemProp()
 {
     using (CatalogDataContext dct = new CatalogDataContext())
     {
         //先清空TB_ItemProp表
         var allItemProp = dct.TB_ItemProps;
         List<ItemProp> itemproplist = new List<ItemProp>();
         var itemcatlist = dct.TB_ItemCats;
         List<ItemProp> itempropinsert = new List<ItemProp>();
         //获取ItemProp中所有字段
         string fieldsitemprop = @"child_template,cid,is_allow_alias,is_color_prop,is_enum_prop,is_input_prop,is_item_prop,is_key_prop,
     is_sale_prop,modified_time,modified_type,multi,must,name,parent_pid,parent_vid,pid,required,sort_order,status,type";
         foreach (var item in itemcatlist)
         {
             if (item.IsParent == false)
             {
                 //如果是叶子类目 调用API获取属性列表
                 List<ItemProp> tempitemprop = ProductService.GetItemprops(item.Cid, fieldsitemprop, null, null, null, null, null, null, null, null, null, 1, null);
                 foreach (var tempitem in tempitemprop)
                 {
                     tempitem.Cid = item.Cid;
                 }
                 itemproplist.AddRange(tempitemprop);
             }
         }
         //先判断数据库里是否存在,不存在的数据才需要插入
         if (allItemProp != null && allItemProp.Count() > 0)
         {
             foreach (var itemprop in itemproplist)
             {
                 if (allItemProp.Where(i => i.Pid == itemprop.Pid && i.Cid == itemprop.Cid && i.Name == itemprop.Name).FirstOrDefault() == null)
                 {
                     itempropinsert.Add(itemprop);
                 }
             }
         }
         else
         {
             itempropinsert.AddRange(itemproplist);
         }
         if (itempropinsert != null && itempropinsert.Count > 0)
         {
             //插入TB_ItemProp表
             foreach (var item in itempropinsert)
             {
                 TB_ItemProp obj = new TB_ItemProp();
                 obj.ID = Guid.NewGuid();
                 obj.Cid = item.Cid;
                 obj.Pid = item.Pid;
                 obj.ParentPid = item.ParentPid;
                 obj.ParentVid = item.ParentVid;
                 obj.ChildTemplate = item.ChildTemplate;
                 obj.IsAllowAlias = item.IsAllowAlias;
                 obj.IsColorProp = item.IsColorProp;
                 obj.IsEnumProp = item.IsEnumProp;
                 obj.IsInputProp = item.IsInputProp;
                 obj.IsItemProp = item.IsItemProp;
                 obj.IsKeyProp = item.IsKeyProp;
                 obj.IsSaleProp = item.IsSaleProp;
                 if (string.IsNullOrEmpty(item.ModifiedTime) == false)
                 {
                     obj.ModifiedTime = DateTime.Parse(item.ModifiedTime);
                 }
                 obj.ModifiedType = item.ModifiedType;
                 obj.Multi = item.Multi;
                 obj.Must = item.Must;
                 obj.Name = item.Name;
                 obj.Required = item.Required;
                 obj.SortOrder = item.SortOrder;
                 obj.Status = item.Status;
                 dct.TB_ItemProps.InsertOnSubmit(obj);
             }
         }
         dct.SubmitChanges();
     }
 }
 partial void UpdateTB_ItemProp(TB_ItemProp instance);
 partial void DeleteTB_ItemProp(TB_ItemProp instance);
 partial void InsertTB_ItemProp(TB_ItemProp instance);