Let me take a stab at this.... the current version of the Entity Framework is very database-centric. Meaning that it must start with a database... rather than start the designer with Entities and then move to the database. So, quite frankly that's not a big "plus" in my book... as, in my opinion, any good Business Logic Layer (BLL) should be concentrating more on the entities and less on the database
So, what the Entity Framework will do... is get you started with your BLL. It initially will be populated with the properties that have corresponding database fields. That means you'll have to pick up where they left off, and add the "Business Logic" in the Business Logic Layer. You should also include any relevant methods (such as Hire(), Promote(), Fire(), Transfer(), Detail(), etc...using a Employee business object as an example)
- So, it can't totaly replace your BLL, but it can be a good starting point for a BLL
- You'll have to write the business logic yourself... so no time saving there
- Yes, your Entities can (and should) use SPs
- I'd recommend you keep all of the BLL stuff together, just by extending the Entity classes (perhaps as a separate Partial Class?)
- I normally don't cache Entities (other than the collections that are returned via the DAL)... so I can't advise you here
- Plain Old CLR Object (POCO) is at the other end of the spectrum... where you just just ADO.Net as your BLL (not recommended)