I prefer working with Fluent API configuration to DataAnnotation because I want to separate model from data access.
I have tried in MVC, Fluent API does not work wit
No. Fluent API is just mapping - correct. Data annotations are both mapping and validation - wrong. Data annotations are one of the worst features of EF code first because when used this way they couple persistence with presentation and validation logic.
Advice: don't use EF entities for presentation. Use special view models with data annotations and let your controller prepare view models from entities and vice-versa. Soon or later you will find situations where your validation is not 1:1 with your mapping or where your view needs more or less data than provided in entity type. Use view models and these situations will be handled by them.