This isn't really an ASP.NET MVC question. You can implement auditing in your EF layer. Here's a quick sample I just found.
I've found that the trick with auditing is understanding why you need to have the support. Often times a user will say they want auditing, but really they just want to know a last edit date/user. You should know if they need undo capability, security audits, etc. Is this for regulatory compliance or for a DBA to fix user errors? Often times it's simpler to dlete and reenter data than to manually edit a DB. Also, how would rolling back data affect other reporting concerns? If you've changed data and rerun a report it will not match the original. If this is an issue you need to store the original results or have an event sourcing model. Not fun.
The second difficult thing about auditing is figuring out how to display the data. Sometimes SQL queries are acceptable, other times users want a full history in the UI. My suggestion is to review the business needs of your case and research appropriate implementations.
Also, if you need to audit relationship changes in a database there is no simple solution. Good luck!