Ottenere un valore specifico (nome) da WCF DataService
-
21-12-2019 - |
Domanda
Voglio ottenere il nome del prodotto che ho selezionato nella mia GridView. Ho un numero di indice che posso usare per confrontare nel mio database, ma non riesco a selezionare il nome dell'oggetto che appartiene a quel numero di indice.
ServiceReference1.ProductContext ctx = new ServiceReference1.ProductContext(new Uri("http://SERVER:5000/WcfDataService1.svc/"));
DbList = ctx.Products;
int index = ProductsList.SelectedIndex;
string name = DbList.XXXXXXX // -> ?????????
.
Tutto ciò che ho provato è finito in un'eccezione.Qualche idea come ottenere il nome del prodotto?
Grazie in anticipo.
Soluzione 3
Simon at Rcl e Lammmy mi hanno aiutato nella giusta direzione.Grazie!
Quindi la mia soluzione per il problema è:
ServiceReference1.Product product = (ServiceReference1.Product)this.ProductsList.Items[productIndex];
string name = product.Name;
. Altri suggerimenti
Qualcosa come (questo è il codice aereo, quindi potrebbe non essere giusto):
Product product = DBList.Where<Product>((p) => p.Id == index);
.
Questo presuppone che il Dblist sia un elenco di tipo di prodotto e che un prodotto ha una proprietà ID che corrisponde all'Indice che stai cercando.
puoi quindi fare
string name = product.Name;
.
ecc. ecc.
potresti fare
Product myProduct = ctx.Products.Find(index);
string name = myProduct.Name;
.
Non sono sicuro se questo metodo applicato nel contesto del dataservice o meno.
Modifica : Sto pensando quadro di entità / applicationdbcontext.Penso che Simon at rcl abbia la risposta con LINQ.