/// <inheritdoc /> public override EnumTypeConfiguration AddEnumType(Type type) { if (type == null) { throw Error.ArgumentNull("type"); } if (!TypeHelper.IsEnum(type)) { throw Error.Argument("type", SRResources.TypeCannotBeEnum, type.FullName); } EnumTypeConfiguration enumTypeConfiguration = EnumTypes.SingleOrDefault(e => e.ClrType == type); if (enumTypeConfiguration == null) { enumTypeConfiguration = base.AddEnumType(type); foreach (object member in Enum.GetValues(type)) { bool addedExplicitly = enumTypeConfiguration.Members.Any(m => m.Name.Equals(member.ToString(), StringComparison.Ordinal)); EnumMemberConfiguration enumMemberConfiguration = enumTypeConfiguration.AddMember((Enum)member); enumMemberConfiguration.AddedExplicitly = addedExplicitly; } ApplyEnumTypeConventions(enumTypeConfiguration); } return(enumTypeConfiguration); }
/// <summary> /// Adds a required enum member to the EDM type. /// </summary> /// <param name="enumMember">The member being added.</param> /// <returns>A configuration object that can be used to further configure the type.</returns> public EnumMemberConfiguration Member(TEnumType enumMember) { return(_configuration.AddMember((Enum)(object)enumMember)); }