/// <summary>
        ///     Gets rows from the datasource based on the FK_BillOfMaterials_Product_ProductAssemblyID key.
        ///		FK_BillOfMaterials_Product_ProductAssemblyID Description: Foreign key constraint referencing Product.ProductAssemblyID.
        /// </summary>
        /// <param name="start">Row number at which to start reading.</param>
        /// <param name="pageLength">Number of rows to return.</param>
        /// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
        /// <param name="_productAssemblyId">Parent product identification number. Foreign key to Product.ProductID.</param>
        /// <param name="count">out parameter to get total records for query</param>
        /// <remarks></remarks>
        /// <returns>Returns a typed collection of Nettiers.AdventureWorks.Entities.BillOfMaterials objects.</returns>
        public override Nettiers.AdventureWorks.Entities.TList <BillOfMaterials> GetByProductAssemblyId(TransactionManager transactionManager, System.Int32?_productAssemblyId, int start, int pageLength, out int count)
        {
            try
            {
                WsProxy.AdventureWorksServices proxy = new WsProxy.AdventureWorksServices();
                proxy.Url = Url;
                WsProxy.BillOfMaterials[] items = proxy.BillOfMaterialsProvider_GetByProductAssemblyId(_productAssemblyId, start, pageLength, out count);

                return(Convert(items));
            }
            catch (SoapException soex)
            {
                System.Diagnostics.Debug.WriteLine(soex);
                throw soex;
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex);
                throw ex;
            }
        }