All round pretty decent advice guys (and not guys).
Cheating on someone is an unforgivable offense in my world.
I have been with my fiancee for eight years, and if twenty years from now she cheated on me I would drop her like she had the plague.
If you can't trust the person you love, and they have proven their disloyalty, they have no business in your life.
I understand that it may be the first time he has done something like this, and you love the guy, but if a friend of yours was in this same situation you would tell her to chin up and move on with their life.
This is going to fuck your shit up for a while, which is a huge kick in your emotion's balls, but time has a magical way of fixing that shit.
It is entirely up to you whether you keep him around after this, but remember that it is exactly your choice.
You aren't obligated to give him the benefit of any doubt, and the length/intensity of the relationship doesn't change the principle of the thing.
You need to get your head out of this weird space where you are blaming yourself for what he did.
Unless you said "Hey, go ahead and fuck around with other women, I don't mind.", there isn't a single thing you could have done to justify him fucking around.
Regardless of excuse given, cheating is a choice.