Obtenga valor específico (nombre) de WCF DataService
-
21-12-2019 - |
Pregunta
Quiero obtener el nombre del producto que he seleccionado en mi GridView. Tengo un número de índice que puedo usar para comparar en mi base de datos, pero no puedo seleccionar el nombre del elemento que pertenece a ese número de índice.
ServiceReference1.ProductContext ctx = new ServiceReference1.ProductContext(new Uri("http://SERVER:5000/WcfDataService1.svc/"));
DbList = ctx.Products;
int index = ProductsList.SelectedIndex;
string name = DbList.XXXXXXX // -> ?????????
Todo lo que he intentado terminar en una excepción.¿Alguna idea de cómo obtener el nombre del producto?
gracias de antemano.
Solución 3
Simon en RCL y Lammmy me ayudó en la dirección correcta.¡Gracias!
Entonces, mi solución para el problema es:
ServiceReference1.Product product = (ServiceReference1.Product)this.ProductsList.Items[productIndex];
string name = product.Name;
Otros consejos
algo así (este es el código de aire, por lo que podría no ser correcto):
Product product = DBList.Where<Product>((p) => p.Id == index);
Esto supone que el DBLIST es una lista de productos de tipo, y que un producto tiene una propiedad de identificación que coincide con el índice que está buscando.
entonces puede hacer
string name = product.Name;
etc etc, etc.
podrías hacer
Product myProduct = ctx.Products.Find(index);
string name = myProduct.Name;
No estoy seguro de si este método se aplica en el contexto de DataService o no.
Editar : estoy pensando en la entidad Marco / ApplicationDBContext.Creo que Simon en RCL tiene la respuesta con LINQ.