partial void DeleteProductPlugin(ProductPlugin instance);
示例#2
0
    private void InsertOrUpdateProduct(DeploymentDataContext ctx, ProductDescription product) {
      var productEntity = (from p in ctx.Products
                           where p.Name == product.Name
                           where p.Version == product.Version.ToString()
                           select p).FirstOrDefault() ?? MakeProductFromDescription(product);

      if (productEntity.Id <= 0) {
        ctx.Products.InsertOnSubmit(productEntity);
        ctx.SubmitChanges();
      }

      DeleteProductPlugins(ctx, productEntity);

      foreach (var plugin in product.Plugins) {
        var existingPlugin = GetExistingPlugin(ctx, plugin.Name, plugin.Version);
        ProductPlugin prodPlugin = new ProductPlugin();
        prodPlugin.PluginId = existingPlugin.Id;
        prodPlugin.ProductId = productEntity.Id;
        ctx.ProductPlugins.InsertOnSubmit(prodPlugin);
      }
    }
 partial void UpdateProductPlugin(ProductPlugin instance);
 partial void InsertProductPlugin(ProductPlugin instance);
 partial void DeleteProductPlugin(ProductPlugin instance);
 partial void UpdateProductPlugin(ProductPlugin instance);
 partial void InsertProductPlugin(ProductPlugin instance);