I think you should check out RIA services for silverlight, samples are available for download to get you started. Basically in your situation it would involve using Silverlight as your clientside runtime, and WCF as a means of communication with your backend service, and RIA does some plumbing in the middle, if you follow the MVVM pattern for SL3 using Prism, all should work out ok. Remember RIA services implements a bit of a middle tier approach to data services, therefore giving you the repository approach you wanted more from the silverlight side of things.