Первые шаги в RIA Services (VS2010Beta2), и я столкнулся с этой проблемой: создал EF-модель (без POCOs), общий репозиторий поверх нее и службу RIA (размещенную в приложении ASP.NET MVC) и попытался получить данные из приложения ASP.NET MVC: хорошо работал. Следующий шаг: клиент Silverlight. Получил ссылку на RIAService (через свой контекст), запросил для всех записей репозитория и также получил их в SL-приложении (используя этот пример кода):
private ObservableCollection<Culture> _cultures = new ObservableCollection<Culture>();
public ObservableCollection<Culture> cultures
{
get { return _cultures; }
set
{
_cultures = value;
RaisePropertyChanged("cultures");
}
}
....
//Get cultures
EntityQuery<Culture> queryCultures = from cu in dsCtxt.GetAllCulturesQuery()
select cu;
loCultures = dsCtxt.Load(queryCultures);
loCultures.Completed += new EventHandler(lo_Completed);
....
void loAnyCulture_Completed(object sender, EventArgs e)
{
ObservableCollection<Culture> temp=
new ObservableCollection<Culture>loAnyCulture.Entities);
AnyCulture = temp[0];
}
Проблема заключается в следующем: всякий раз, когда я пытаюсь редактировать некоторые данные записи (в этом примере первая запись), я получаю эту ошибку: Этот EntitySet типа "Культура" не поддерживает операцию "Изменить".
Я думал, что сделал что-то странное и попытался создать объект типа Culture и присвоить ему значение: он работал хорошо!
Что мне не хватает? Должен ли я объявлять EntitySet? Должен ли я отмечать его? Должен ли я... что?
Заранее спасибо