Я создал голое приложение Silverlight с помощью RIA Services.Класс обслуживания домена использует класс LINQ-to-SQL в качестве своего DataContext.
В моем приложении Silverlight это работает нормально:
CMSContext db = new CMSContext();
gridTest.ItemsSource = db.Files;
db.Load(db.GetFilesQuery());
Но я не могу этого сделать, например:
db.Load(from f in db.GetFilesQuery() where f.Id > 2 select f);
Ошибки компиляции:
Error 5 The type arguments for method 'System.ServiceModel.DomainServices.Client.DomainContext.Load<TEntity>(System.ServiceModel.DomainServices.Client.EntityQuery<TEntity>)' cannot be inferred from the usage. Try specifying the type arguments explicitly. C:\SilverLight\Silverlight 4 Projects\RIATest2\RIATest2\MainPage.xaml.cs 35 4 RIATest2
Error 4 Could not find an implementation of the query pattern for source type 'System.ServiceModel.DomainServices.Client.EntityQuery<RIATest2.Web.File>'. 'Where' not found. C:\SilverLight\Silverlight 4 Projects\RIATest2\RIATest2\MainPage.xaml.cs 35 22 RIATest2
Есть советы?
Обновление:
Решение состоит в том, чтобы добавить это:
using System.ServiceModel.DomainServices.Client;