У меня есть веб-интерфейс odata, встроенный в .net.Страница $ metadata автоматически генерируется путем установки ODataConventionModelBuilder в событии регистрации.
У меня есть простое перечисление, которое выглядит так:
[Flags]
public enum Appliance : Int64
{
Stove = 1,
Washer = 2,
Dryer = 4,
Microwave = 8
}
Это простое перечисление выглядит так в $Страница метаданных:
<EnumType Name="Appliance" IsFlags="true" UnderlyingType="Edm.Int64">
<Member Name="Stove" Value="1"/>
<Member Name="Washer" Value="2"/>
<Member Name="Dryer" Value="4"/>
<Member Name="Microwave" Value="8"/>
</EnumType>
Однако я бы хотел, чтобы перечисление также содержало аннотации, когда оно появляется на странице $ метаданных.Так что это будет выглядеть так (обратите внимание на тег аннотации):
<EnumType Name="Appliance" IsFlags="true" UnderlyingType="Edm.Int64">
<Member Name="Stove" Value="1">
<Annotation String="Stove Top" Term="FooBar"/>
</Member>
<Member Name="Washer" Value="2">
<Annotation String="Washing Machine" Term="FooBar"/>
</Member>
<Member Name="Dryer" Value="4"/>
<Member Name="Microwave" Value="8"/>
</EnumType>
Есть ли способ объявить мое перечисление C # для создания этого вида?Если нет, есть ли способ программно манипулировать ODataConventionModelBuilder ИЛИ это EdmModel для вставки этих аннотаций?Возможно, используя атрибут в значениях перечисления c #?Спасибо.