I have an enumeration which I\'d like to persist as a value of some sort into the underlying database so that I can bring it back and forth.
I have read some article
This is because of design flaw in .NET framework. .NET framework contains famous System.ComponentModel.DataAnnotations
namespace where multiple different attributes are defined. Many different parts of .NET framework are using this namespace but they are using it to achieve different tasks and every such part use only some subset of attributes. This causes a lot of confusion.
EnumDataTypeAttribute
is such example. This attribute is only for ASP.NET Dynamic Data. It allows you to mark int property with this attribute and automatically generated UI will show drop down with enum values instead of textbox for numeric values. So there is mapping from enum to int but it is in UI layer not in model / persistence layer.