I came over entity framework 4.1 on the following link http://msdn.microsoft.com/en-us/data/gg702905, and it seems that it offers a great built in functionalities such (.find, .add, .Entry().state = entitystate.modified, etc). I used to work with the “Iinq to SQL” classes where i build these facilities by myself by wrtting a model classes. But i have the following questions about EF:-

1. there are a couple of examples in the web (such as nerd dinneron mvc2) that uses the EF but still code the (find , add, delete,etc) methods on a repository class. so what is the reason of coding these methods and not using the methods provided by the ET?.

2. if i want to implement a more complicated business logic (for example to find a list of recommend items or find the latest items) ,rather than finding a single item; so how i will be implementing these business logic with EF. should i create a model classes that implement these logic and call them from my controller classes as i use to do with “Linq to SQL classes”?