domingo, 15 de março de 2009

Linq to Sql suporta Enumeradores

       Os “enumeradores” são bastante úteis aos desenvolvedores, evitando uma checagem do tipo string (coisa como if(tipo == “TEXT”))  , sucetível a erros e sem nenhum formalismo semantico nas nossas classes. Mais sobre a utilização avançada de enumeradores ver neste bom post, ou sobre como popular combobox com enumeradores aqui.

O Linq to Sql por sua vez suporta o uso de enumeradores de forma simples, como descrito abaixo:

public enum ItemType
   {
       Text = 0,
       Image = 1
   }

[Table]
public class Item     {
   private ItemType _type;

[Column]
public ItemType Type
{
        get { return _type;}
        set { _type = value;}
}

}

Vantágens:

  • Ao construirmos o objeto do tipo “Item” setamos suas propriedades que pro caso do “Type” será sempre consistente com o enum definido na aplicação;
  • O linq to Sql automáticamente trará os objetos do tipo “Item” com seus enumeradores “Type” setados;

Observações

  • O enum é Value Type;
  • Os enumeradores podem ainda suportar os tipos (byte / Byte, sbyte / SByte, short / Short, ushort / UShort, int / Integer, uint / UInteger, long Long, ulong / ULong).  Entretanto, não suporta String assim não teremos no banco Flags descritivas como “TXT” ou “IMG”, mas 0,1;

0 comentários:

Postar um comentário