I think there could be a problem with the Bind annotation on the Album class. I'm pretty new to MVC, so am not totally sure about this.
My understanding is that the [Bind(Exclude = "AlbumId")] attribute means that when an action method takes a parameter of type Album, then the AlbumId post variable from the client will not be bound to the model.
This causes a problem when editing an album, and I get an exception every time. This is because AlbumId of the passed in Album is still 0.
Is this just me or is everyone else having the same problem? Why is the Bind attribute placed on the Album class?