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.


    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.



        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;