Hello Kathy,
There are various options you can choose from depending on your requirements. Danny Simmons has a very good review of some options using EF directly in his articles in MSDN Magazine:
- N-Tier Application Patterns: http://msdn.microsoft.com/en-us/magazine/ee321569.aspx
- Anti-Patterns To Avoid In N-Tier Applications: http://msdn.microsoft.com/en-us/magazine/dd882522.aspx
One of the interesting options Danny explores in the article that EF supports out of the box is Self-Tracking Entities. STEs apply in certain specific senarios (they imply a tightly coupled contract between client and service, since generated entity types are shared between the two), but they can simplify development considerably in those scenarios. To learn more about STEs, please go here: http://msdn.microsoft.com/en-us/library/bb896304(VS.100).aspx and here: http://blogs.msdn.com/adonet/archive/2009/11/15/updated-feature-ctp-walkthrough-self-tracking-entities-for-the-entity-framework.aspx.
In addition to the options explained in the articles you should consider WCF Data Services (http://msdn.microsoft.com/en-us/data/bb931106.aspx) that helps in exposing your data through interoperable RESTful services using the OData protocol (http://www.odata.org/) and WCF RIA Services (http://www.silverlight.net/getstarted/riaservices/), which focuses on end-to-end development of rich internet applications combining Silverlight and ASP.NET technologies. Both WCF Data Services and RIA Services include their own specific patterns for N-Tier development based on WCF and are optimized to use Entity Framework for relational database access.
Hope this helps,
Diego
This posting is provided "AS IS" with no warranties, and confers no rights.