wcf-ria-services entityset

wcf ria services - EntitySet de RIA Services no admite la operación ''Editar''



wcf-ria-services (1)

Resulta que en la clase DomainService uno tiene que implementar (o al menos marcar los "métodos de marcador de posición") como "Editar", "Eliminar", ... por ejemplo

[Delete] public void DeleteCulture(Culture currentCulture) { throw new NotImplementedException("UpdateCulture not Implemented yet"); } [Insert] public void InsertCulture(Culture newCulture) { throw new NotImplementedException("InsertCulture not Implemented yet"); }

De esta manera, la clase OrganizationDomainContextEntityContainer crea un EntitySet con el parámetro EntitySetOperations.All (lo que significa que todas las operaciones CUD están disponibles).

Espero que sea útil para alguien en el futuro!

Realicé mis primeros pasos en RIA Services (VS2010Beta2) y encontré este problema: creé un modelo EF (sin POCO), un repositorio genérico encima y un servicio RIA (alojado en una aplicación MVC de ASP.NET) y traté de obtener datos desde dentro de la aplicación MVC de ASP.NET: funcionó bien. Siguiente paso: cliente de Silverlight. Obtuve una referencia al servicio RIAS (a través de su contexto), consultó todos los registros del repositorio y los incorporó también a la aplicación de SL (usando este ejemplo de código):

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]; }

El problema es el siguiente: cuando intento editar algunos datos de un registro (en este ejemplo, el primer registro) obtengo este error: este EntitySet de tipo ''Cultura'' no admite la operación ''Editar''.

Pensé que hice algo extraño e intenté crear un objeto de tipo Cultura y asignarle un valor: ¡funcionó bien!

¿Qué me estoy perdiendo? ¿Tengo que declarar un EntitySet? ¿Tengo que marcarlo? ¿Tengo que ... qué?

Gracias por adelantado