You can avoid polluting your model classes altogether by using EF's fluent API. This includes table, column and navigational properties. Like you, I'm not a fan of migrations, as it causes you to design your object model that mirrors your data model similarly OR causes you to create a class structure for the database and map those types to classes in your object model. I prefer creating my object model and data model independently and using EF to resolve the two.