/// <summary>Protected CTor for deserialization</summary>
        /// <param name="info"></param>
        /// <param name="context"></param>
        protected ScrapReasonEntityBase(SerializationInfo info, StreamingContext context) : base(info, context)
        {
            _workOrder                                   = (AW.Data.CollectionClasses.WorkOrderCollection)info.GetValue("_workOrder", typeof(AW.Data.CollectionClasses.WorkOrderCollection));
            _alwaysFetchWorkOrder                        = info.GetBoolean("_alwaysFetchWorkOrder");
            _alreadyFetchedWorkOrder                     = info.GetBoolean("_alreadyFetchedWorkOrder");
            _productCollectionViaWorkOrder               = (AW.Data.CollectionClasses.ProductCollection)info.GetValue("_productCollectionViaWorkOrder", typeof(AW.Data.CollectionClasses.ProductCollection));
            _alwaysFetchProductCollectionViaWorkOrder    = info.GetBoolean("_alwaysFetchProductCollectionViaWorkOrder");
            _alreadyFetchedProductCollectionViaWorkOrder = info.GetBoolean("_alreadyFetchedProductCollectionViaWorkOrder");


            base.FixupDeserialization(FieldInfoProviderSingleton.GetInstance(), PersistenceInfoProviderSingleton.GetInstance());

            // __LLBLGENPRO_USER_CODE_REGION_START DeserializationConstructor
            // __LLBLGENPRO_USER_CODE_REGION_END
        }
        /// <summary> Initializes the class members</summary>
        private void InitClassMembers()
        {
            _workOrder = new AW.Data.CollectionClasses.WorkOrderCollection(new WorkOrderEntityFactory());
            _workOrder.SetContainingEntityInfo(this, "ScrapReason");
            _alwaysFetchWorkOrder                        = false;
            _alreadyFetchedWorkOrder                     = false;
            _productCollectionViaWorkOrder               = new AW.Data.CollectionClasses.ProductCollection(new ProductEntityFactory());
            _alwaysFetchProductCollectionViaWorkOrder    = false;
            _alreadyFetchedProductCollectionViaWorkOrder = false;



            PerformDependencyInjection();

            // __LLBLGENPRO_USER_CODE_REGION_START InitClassMembers
            // __LLBLGENPRO_USER_CODE_REGION_END

            OnInitClassMembersComplete();
        }