I need to create several applications that all share a Microsoft SQL Server database. These include ASP.NET web applications, WPF desktop applications, and probably the odd console app every now and then.
I'd like to use the ADO.NET Entity Framework for data access, extend its objects for my business logic, and bind those objects to controls in my UI.
How can I do this in each of my applications without repeating myself too much? If the database schema or my business logic changes, then I want an easy (or automatic) way to update all my applications.
How should I architect this system?
Update: I've asked follow-up questions...