/// <summary> /// Annotates the model based on the POCO Generation options. /// </summary> /// <param name="model">The EntityModelSchema that has to be annotated</param> /// <param name="option">The POCOGeneration option for model annotation</param> public static void Annotate(EntityModelSchema model, PocoOption option) { ExceptionUtilities.CheckArgumentNotNull(model, "model"); switch (option) { case PocoOption.None: break; case PocoOption.Pure: CustomizeModelForPurePocoGeneration(model); break; case PocoOption.NavigationPropertiesVirtual: CustomizeModelForPocoGenerationWithNavigationPropertiesVirtual(model); break; case PocoOption.AllPropertiesVirtual: CustomizeModelForPocoGenerationWithAllPropertiesVirtual(model); break; default: throw new TaupoArgumentException(string.Format(CultureInfo.InvariantCulture, "Invalid Poco option '{0}' specified. Use any of the allowed Poco option values such as '{1}', '{2}', '{3}' or '{4}' instead!", option, PocoOption.None, PocoOption.Pure, PocoOption.NavigationPropertiesVirtual, PocoOption.AllPropertiesVirtual)); } }