public void DefineNativeOperations(ServiceLayerModel srvLayer)
 {
     foreach (BusinessDocModel model in this.BusinessDocsLayer.Documents)
       {
     if ((model.ParentRelations.Count == 0) && (model.ChildRelations.Count == 0))
     {
       DataEntityModel rootEntity = model.RootEntity;
       ServiceModel model3 = new ServiceModel(GenerationHelper.GetServiceName(rootEntity));
       srvLayer.Add(model3);
       model3 += new TableOperation(TableOperationType.Select, rootEntity);
       TraceInfoEvent.Raise(string.Format("Select operation added for '{0}'", rootEntity.MappingName));
       model3 += new TableOperation(TableOperationType.SelectAll, rootEntity);
       TraceInfoEvent.Raise(string.Format("SelectAll operation added for '{0}'", rootEntity.MappingName));
       model3 += new TableOperation(TableOperationType.Insert, rootEntity);
       TraceInfoEvent.Raise(string.Format("Insert operation added for '{0}'", rootEntity.MappingName));
       if (rootEntity.UpdateSetFields.Count > 0)
       {
     model3 += new TableOperation(TableOperationType.Update, rootEntity);
     TraceInfoEvent.Raise(string.Format("Update operation added for '{0}'", rootEntity.MappingName));
       }
       model3 += new TableOperation(TableOperationType.Delete, rootEntity);
       TraceInfoEvent.Raise(string.Format("Delete operation added for '{0}'", rootEntity.MappingName));
       model3 += new TableOperation(TableOperationType.SelectDispsetAll, rootEntity);
       TraceInfoEvent.Raise(string.Format("SelectDispSetAll operation added for '{0}'", rootEntity.MappingName));
       foreach (AssocModel model4 in rootEntity.ParentAssocs)
       {
     model3 += new AssocOperation(AssocOperationType.SelectBy, model4);
     TraceInfoEvent.Raise(string.Format("SelectBy operation added for '{0}'", model4.Name));
     model3 += new AssocOperation(AssocOperationType.DeleteBy, model4);
     TraceInfoEvent.Raise(string.Format("DeleteBy operation added for '{0}'", model4.Name));
       }
       continue;
     }
     ServiceModel sm = new ServiceModel(GenerationHelper.GetServiceName(model.Name));
     srvLayer.Add(sm);
     sm += new DocumentOperation(DocOperationType.Select, model);
     TraceInfoEvent.Raise(string.Format("Select operation added for '{0}'", model.Name));
     sm += new DocumentOperation(DocOperationType.SelectAll, model);
     TraceInfoEvent.Raise(string.Format("SelectAll operation added for '{0}'", model.Name));
     sm += new DocumentOperation(DocOperationType.Insert, model);
     TraceInfoEvent.Raise(string.Format("Insert operation added for '{0}'", model.Name));
     if (model.RootEntity.UpdateSetFields.Count > 0)
     {
       sm += new DocumentOperation(DocOperationType.Update, model);
       TraceInfoEvent.Raise(string.Format("Update operation added for '{0}'", model.Name));
     }
     sm += new DocumentOperation(DocOperationType.Delete, model);
     TraceInfoEvent.Raise(string.Format("Delete operation added for '{0}'", model.Name));
       }
 }