/// <summary> /// 设置产品分类 /// </summary> /// <param name="product"></param> /// <param name="category"></param> /// <returns></returns> public ProductCategorization Categorize(Product product, Category category) { if (product == null) { throw new ArgumentNullException("product"); } if (category == null) { throw new ArgumentNullException("category"); } var prdCategorization = _productCategorizationRepository.GetBySpecification( Specification <ProductCategorization> .Eval(c => c.ProductId == product.Id)); /*对比这两个方法*/ var test = _productCategorizationRepository.GetByExpression(c => c.ProductId == product.Id); if (prdCategorization == null) { prdCategorization = ProductCategorization.CreateCategorization(product, category); _productCategorizationRepository.Add(prdCategorization); } else { prdCategorization.CategoryId = category.Id; _productCategorizationRepository.Update(prdCategorization); } _repositoryContext.Commit(); return(prdCategorization); }
public ProductCategorization Categorize(Product product, Category category) { if (product == null) { throw new ArgumentNullException("product"); } if (category == null) { throw new ArgumentNullException("category"); } var productCategorization = _productCategorizationRepository.FirstOrDefault(c => c.Product.Id == product.Id); if (productCategorization == null) { productCategorization = ProductCategorization.CreateCategorization(product, category); _productCategorizationRepository.Insert(productCategorization); } else { productCategorization.Category.Id = category.Id; _productCategorizationRepository.Update(productCategorization); } return(productCategorization); }