Это от Коллина Блэра
http://forums.silverlight.net/t/103015.aspx/1
Ваш вопрос аналогичен вопросу о том, в чем разница между простой пирожкой гамбургера и гамбургером, поэтому трудно получить прямой ответ. Получение хорошего ответа также затрудняется тем фактом, что RIA Services не будет «полнофункциональным», по крайней мере, до PDC, поэтому любой ответ, который вы получите, будет основан на ожиданиях и предположениях. Наконец, RIA Services является множественным по причине, есть несколько классов в RIA Services, которые делают разные вещи. Вот мой ответ, основанный на дорожных картах и моем понимании целей команды RIA Services.
Службы RIA - это библиотека клиентских и серверных компонентов, которые связаны с ADO.NET Data Services. При использовании полного стека RIA Services разница между RIA Services и обычным WCF заключается в следующем:
Объекты данных на стороне клиента генерируются с использованием отражения во время компиляции на основе реальных объектов на стороне сервера, а не контракта на обслуживание. Это позволяет RIA Services предоставлять гораздо более богатую объектную модель на стороне клиента, включая любые бизнес-правила и отношения между объектами. Однако это означает, что RIA Services отказывается от некоторой гибкости по сравнению с обычным WCF. Например, сериализатор RIA Services в настоящее время не поддерживает некоторые типы данных, которые WCF сможет обработать.
Службы RIA, как и службы данных ADO.NET, поддерживают сериализацию запросов LINQ между клиентом и сервером. Это означает, что клиент может создать запрос LINQ и запустить его на стороне сервера.
Службы RIA, в отличие от простых служб данных ADO.NET, не генерируют CRUD автоматически во время выполнения. Для тех, кто знаком с SQL Server, я описываю ADO.NET Data Services как поддерживающие регулярные триггеры (или перехватчики запросов), в то время как RIA Services требует триггеры INSTEAD OF.