I've been wading through all the new EF and WCF stuff in .NET 4 for a major project in its early stages, and I think my brain's now officially turned to sludge. It's the first large-scale development work I've done in .NET since the 1.1 days. As usual everything needs to be done yesterday, so I'm playing catch-up.
This is what I need to hammer together - any sanity checks or guidance would be greatly appreciated. The project itself can be thought of as essentially a posh e-commerce system, with multiple clients, both web and Windows-based, connecting to central servers with live data.
On the server side:
- A WCF service, the implementation using EF to connect to an SQL Server data store (that will probably end up having many hundreds of tables and all the other accoutrements of a complex DB system)
- Underlying classes used for EF and WCF must be extensible both at a property and class (ie field and record) level, for validation, security, high-level auditing and other custom logic
On the client side:
- WCF client
- Underlying classes the same as the server side, but with some of the customisations not present
- When an object is updated on the client, preferably only the modified properties should be sent to the server
- The client-side WCF API details will probably end up being published publicly, so sensitive server-side implementation hints should not be leaked through the API unless absolutely unavoidable - this includes EF attributes in properties and classes
General requirements:
- Network efficiency is important, insofar as we don't want to make it *in*efficient from day one - I can foresee data traffic and server workload increasing exponentially within a few years
- The database gets developed first, so the (POCO, C#) classes generated by EF will be based on it. Somehow they need to be made suitable for both EF and WCF on both client and server side, and have various layers of customisation, but appear as if custom-written for each scenario
Sorry this is so open-ended, but as I said, my brain's completely turned to sludge and I've confused myself to the point where I'm frozen.
Could anyone point me in the general direction of how to build the classes to do all this? Honestly, thanks very, very much.