Il mio tavolo:Come map enum come stringa nel database
create table MyTable (
Id int identity(1,1) not null,
MyStatus char(2) not null
)
insert into MyTable(MyStatus) select 'A'
Classe ed enum:
public class MyTable
{
public virtual int Id { get; set; }
public virtual MyTableStatus MyStatus { get; set; }
}
public enum MyTableStatus
{
A,
B
}
Mapping:
public MyTableMap()
{
Id(x => x.Id);
Map(x => x.MyStatus);
}
Quando eseguo il seguente test, ottengo System.FormatException: la stringa di input non era in un formato corretto ...
Qual è il modo corretto per mappare un enum alla sua rappresentazione di stringa nel database?
Modifica - Sto scrivendo la mia applicazione su un database esistente, che non posso modificare facilmente perché viene utilizzata anche da altre applicazioni. Quindi alcuni campi nel database (che vorrei rappresentare come enumerazione nella mia applicazione) sono di tipo int e alcuni di tipo char (2).
Vorrei anche sapere, tra cui lavorare con un database che utilizza stringhe e int per enumerazioni diverse. (Ho sempre funzionato con gli interi) – Phill