Enumeration y Entity Framework 4.1 o superior

 

Desde esta versión, se ha mejorado mucho el soporte a los Enum, aquí cuelgo un ejemplo sobre los HasFlag que ahorran unos cuantos caracteres.

 [Flags]

    public enum ContentType : byte

    {

        Liquid = 1,

        Perishable = 2,

        Edible = 4

    }

 

HasFlag support

.NET 4.0 introduced this new method in System.Enum that makes it possible to detect whether an instance of a “flags” enum contains a value without having to resort to or think about bitwise operators. We could consider adding support for this method on LINQ to Entities.

 
 

Example:

        var perishableLiquids =

            from p in context.Packages

            where p.ContentType.HasFlag(ContentType.Perishable | ContentType.Liquid)

            select p;

 
 

 
 

This is equivalent to:

        var perishableLiquids =

            from p in context.Packages

            where p.ContentType & (ContentType.Perishable | ContentType.Liquid) ==

                (ContentType.Perishable | ContentType.Liquid)

            select p;

 
 

J