I have based many designs and frameworks that use C# Attributes over the past 4 or 5 years.
But lately I see many people openingly discouraging their use or changing their frameworks to reduce the need or use of them.
I found them to be a godsend but now I am starting to wonder what I am missing.
To clarify: Use Convention over Configuration is becoming a major principle to follow especially in the ORM field. Is this area you can map fields with a config file (XML), use an attribute, or have a common naming convention that maps directly to fields in your database tables. I don't have any references to quote but I have read some backlash against adding another Attribute to the mix.
But I feel over the three choices I just listed that Attributes still make the most sense. A Config file is harder to maintain and a common naming convention ties you to the implementation of the database field. Attributes are placed exactly where they are needed and the implemntation can change without disconnecting from where it is used.