我正在使用nopCommerce 3.50。我在nopCommerce中實現了插件。我在SQL服務器中創建了存儲過程。現在我想通過代碼從插件創建存儲過程。當安裝插件時,它會創建存儲過程。從NopCommerce插件創建存儲過程
如何從nopCommerce中的插件創建存儲過程?
我正在使用nopCommerce 3.50。我在nopCommerce中實現了插件。我在SQL服務器中創建了存儲過程。現在我想通過代碼從插件創建存儲過程。當安裝插件時,它會創建存儲過程。從NopCommerce插件創建存儲過程
如何從nopCommerce中的插件創建存儲過程?
參考股票插件Nop.Plugin.Shipping.ByWeight
你的ObjectContext將有一個安裝()方法,用它來創建存儲過程。在卸載方法中刪除它。
public string CreateDatabaseScript()
{
return ((IObjectContextAdapter)this).ObjectContext.CreateDatabaseScript();
}
/// <summary>
/// Install
/// </summary>
public void Install()
{
//create the table
var dbScript = CreateDatabaseScript();
Database.ExecuteSqlCommand(dbScript);
SaveChanges();
}
/// <summary>
/// Uninstall
/// </summary>
public void Uninstall()
{
//drop the table
var tableName = this.GetTableName<ShippingByWeightRecord>();
//var tableName = "ShippingByWeight";
this.DropPluginTable(tableName);
}
參考Nop.Service.CAtalog.ProductService
var products = _dbContext.ExecuteStoredProcedureList<Product>(
"ProductLoadAllPaged",
pCategoryIds,
pManufacturerId,
pStoreId,
pVendorId,
pWarehouseId,
pParentGroupedProductId,
pProductTypeId,
pVisibleIndividuallyOnly,
pProductTagId,
pFeaturedProducts,
pPriceMin,
pPriceMax,
pKeywords,
pSearchDescriptions,
pSearchSku,
pSearchProductTags,
pUseFullTextSearch,
pFullTextMode,
pFilteredSpecs,
pLanguageId,
pOrderBy,
pAllowedCustomerRoleIds,
pPageIndex,
pPageSize,
pShowHidden,
pLoadFilterableSpecificationAttributeOptionIds,
pFilterableSpecificationAttributeOptionIds,
pTotalRecords);
它調用productloadallpaged
存儲過程。
嘗試製作sql腳本文件並在插件安裝時運行它 –