Я думаю, что вы путаетесь в том, что мастер Visual Studio для добавления службы RIA предполагает, что вы будете использовать EntityFramework для своих данных. Я не думаю, что вы хотите создать модель EF из данных второго сервиса WCF. Вместо этого создайте службу RIA, чтобы получать ее непосредственно из DomainService и переопределить нужные вам методы. В каждом методе запроса просто запросите удаленную службу и верните результат клиенту Silverlight. Чтобы генерация магического кода служб RIA работала, вам необходимо определить набор объектов DTO в вашем приложении, которые обернут результаты из удаленной службы WCF.
Вот быстрый пример. Примечание - я только что сделал это, чтобы проиллюстрировать, что я имею в виду. Вам нужно будет вызывать фактическую службу, которую вы используете, и создавать обработку ошибок, проверку ввода и т. Д.
namespace YourApp.Web
{
[EnableClientAccess]
public class WcfRelayDomainService : DomainService
{
public IQueryable<Restaurant> GetRestaurants()
{
// You should create a method that wraps your WCF call
// and returns the result as IQueryable;
IQueryable<MyDto> mydtos = RemoteWCF.QueryMethod().ToQueryable();
return mydtos;
}
public void UpdateDTO(MyDto dto)
{
// For update or delete, wrap the calls to the remote
// service in your RIA services like this.
RemoteWCF.UpdateMethod(dto);
}
}
}
Надеюсь, это поможет вам! См. Как настроить службы RIA с Silverlight 4.0 и без EF , чтобы получить дополнительные советы.