For a new MVC project I was planning to learn and use Entity Framework EF4.1. More as a way of educating myself with EF than for any other reason. A lot of Microsoft developer demonstrations use EF as their data access tool of choice.
However, the more I'm discovering about EF, the more issues I have with it. For example...
I want to save my customers' "basket" at the beginning of the checkout process. It's easy and fast to save the basket to a database using EF4.1. I then want to persist the basket through the various page requests of the buy process. I could use EF to save and re-obtain the basket with each page request. This would work well and mean that I have a saved copy of the basket at every step. However, this might be resource hungry and slow down the process. Therefore I could do what I usually do and persist the basket in session through the buy process. However, I then have have a basket that is "detached" from EF and if changes are made to the basket through the buy process I have to somehow manually synchronise the session basket with the object saved to my database. This could be a fair amount of work and doesn't sound like progress to me.
I've looked at many posts on here and various blogs and the notion of "Self Tracking Entities" looks like it could be the right fit. But many posts on here say STE is a bad idea with web applications.
So, given that many people say EF is not overkill for web applications, what is the best way to deal with the above scenario?