public PerformanceMeasureReportingPeriodSubcategoryOptionReportedValue(PerformanceMeasureReportingPeriod performanceMeasureReportingPeriod,
                                                                        PerformanceMeasureSubcategoryOption performanceMeasureSubcategoryOption, double?reportedValue) :
     this(performanceMeasureReportingPeriod, reportedValue, performanceMeasureSubcategoryOption.SortOrder ?? 0,
          performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionID,
          performanceMeasureSubcategoryOption.PerformanceMeasureSubcategory,
          performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionName,
          performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionName)
 {
 }
 /// <summary>
 /// Creates a "blank" object of this type and populates primitives with defaults
 /// </summary>
 public static PerformanceMeasureActualSubcategoryOptionUpdate CreateNewBlank(PerformanceMeasureActualUpdate performanceMeasureActualUpdate, PerformanceMeasureSubcategoryOption performanceMeasureSubcategoryOption, PerformanceMeasure performanceMeasure, PerformanceMeasureSubcategory performanceMeasureSubcategory)
 {
     return(new PerformanceMeasureActualSubcategoryOptionUpdate(performanceMeasureActualUpdate, performanceMeasureSubcategoryOption, performanceMeasure, performanceMeasureSubcategory));
 }
 /// <summary>
 /// Constructor for building a new object with MinimalConstructor required fields, using objects whenever possible
 /// </summary>
 public PerformanceMeasureActualSubcategoryOptionUpdate(PerformanceMeasureActualUpdate performanceMeasureActualUpdate, PerformanceMeasureSubcategoryOption performanceMeasureSubcategoryOption, PerformanceMeasure performanceMeasure, PerformanceMeasureSubcategory performanceMeasureSubcategory) : this()
 {
     // Mark this as a new object by setting primary key with special value
     this.PerformanceMeasureActualSubcategoryOptionUpdateID = ModelObjectHelpers.MakeNextUnsavedPrimaryKeyValue();
     this.PerformanceMeasureActualUpdateID = performanceMeasureActualUpdate.PerformanceMeasureActualUpdateID;
     this.PerformanceMeasureActualUpdate   = performanceMeasureActualUpdate;
     performanceMeasureActualUpdate.PerformanceMeasureActualSubcategoryOptionUpdates.Add(this);
     this.PerformanceMeasureSubcategoryOptionID = performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionID;
     this.PerformanceMeasureSubcategoryOption   = performanceMeasureSubcategoryOption;
     performanceMeasureSubcategoryOption.PerformanceMeasureActualSubcategoryOptionUpdates.Add(this);
     this.PerformanceMeasureID = performanceMeasure.PerformanceMeasureID;
     this.PerformanceMeasure   = performanceMeasure;
     performanceMeasure.PerformanceMeasureActualSubcategoryOptionUpdates.Add(this);
     this.PerformanceMeasureSubcategoryID = performanceMeasureSubcategory.PerformanceMeasureSubcategoryID;
     this.PerformanceMeasureSubcategory   = performanceMeasureSubcategory;
     performanceMeasureSubcategory.PerformanceMeasureActualSubcategoryOptionUpdates.Add(this);
 }
 /// <summary>
 /// Creates a "blank" object of this type and populates primitives with defaults
 /// </summary>
 public static PerformanceMeasureExpectedSubcategoryOption CreateNewBlank(PerformanceMeasureExpected performanceMeasureExpected, PerformanceMeasureSubcategoryOption performanceMeasureSubcategoryOption, PerformanceMeasure performanceMeasure, PerformanceMeasureSubcategory performanceMeasureSubcategory)
 {
     return(new PerformanceMeasureExpectedSubcategoryOption(performanceMeasureExpected, performanceMeasureSubcategoryOption, performanceMeasure, performanceMeasureSubcategory));
 }