public bool BillOfMaterialDelete(BillOfMaterial billofmaterial)
        {
            return Execute<bool>(dal =>
            {
                BillOfMaterial billofmaterialDelete = dal.BillOfMaterial.Where(x => x.BillOfMaterialsID == billofmaterial.BillOfMaterialsID).FirstOrDefault();
                if (billofmaterialDelete != null)
                {
                    dal.BillOfMaterial.DeleteOnSubmit(billofmaterialDelete);
                    dal.SubmitChanges();
                    return true;
                }
                return false;

            });
        }
        public bool BillOfMaterialUpdate(BillOfMaterial billofmaterial)
        {
            return Execute<bool>(dal =>
               {
               BillOfMaterial billofmaterialUpdate = dal.BillOfMaterial.Where(x => x.BillOfMaterialsID == billofmaterial.BillOfMaterialsID).FirstOrDefault();
               if (billofmaterialUpdate != null)
               {
                   billofmaterialUpdate.BillOfMaterialsID = billofmaterial.BillOfMaterialsID;
                   billofmaterialUpdate.ProductAssemblyID = billofmaterial.ProductAssemblyID;
                   billofmaterialUpdate.ComponentID = billofmaterial.ComponentID;
                   billofmaterialUpdate.StartDate = billofmaterial.StartDate;
                   billofmaterialUpdate.EndDate = billofmaterial.EndDate;
                   billofmaterialUpdate.UnitMeasureCode = billofmaterial.UnitMeasureCode;
                   billofmaterialUpdate.BOMLevel = billofmaterial.BOMLevel;
                   billofmaterialUpdate.PerAssemblyQty = billofmaterial.PerAssemblyQty;
                   billofmaterialUpdate.ModifiedDate = billofmaterial.ModifiedDate;

                   dal.SubmitChanges();
                   return true;
               }
               return false;

               });
        }
 partial void UpdateBillOfMaterial(BillOfMaterial instance);
 partial void DeleteBillOfMaterial(BillOfMaterial instance);
 partial void InsertBillOfMaterial(BillOfMaterial instance);
		private void detach_BillOfMaterials1(BillOfMaterial entity)
		{
			this.SendPropertyChanging();
			entity.Product1 = null;
		}
		private void attach_BillOfMaterials(BillOfMaterial entity)
		{
			this.SendPropertyChanging();
			entity.Product = this;
		}
		private void detach_BillOfMaterials(BillOfMaterial entity)
		{
			this.SendPropertyChanging();
			entity.UnitMeasure = null;
		}
 public void BillOfMaterialUpdate(BillOfMaterial billofmaterial)
 {
     adventureWorks_BC.BillOfMaterialUpdate(billofmaterial);
 }