questo:
var query = (from RESTAURANT in db.RESTAURANTs
where RESTAURANT.REST_ID == RestID
select new { name = RESTAURANT.name});
definisce un interrogazione. Quando il programma è in esecuzione e questa linea è stata elaborata, la variabile query
fa riferimento a un'istanza di query. Il database non è stato ancora richiamato.
Se si aggiunge (per esempio) .ToList()
alla tua dichiarazione come questa:
var query = (from RESTAURANT in db.RESTAURANTs
where RESTAURANT.REST_ID == RestID
select new { name = RESTAURANT.name}).ToList();
Poi query
conterrà un elenco di elementi che sono stati recuperati dal database. Tuttavia, anche in questo caso, il tipo di elementi nell'elenco è di tipo anonimo, quindi non è ancora possibile modificare lo var
in un tipo denominato. Se lo desideri, devi fare in modo che la query restituisca un tipo con nome noto. Come questo:
List<string> query = (from RESTAURANT in db.RESTAURANTs
where RESTAURANT.REST_ID == RestID
select RESTAURANT.name).ToList();
o forse in questo modo:
public class Restaurant
{
public string Name {get; set;}
}
List<Restaurant> query = (from RESTAURANT in db.RESTAURANTs
where RESTAURANT.REST_ID == RestID
select new Restaurant() { Name = name }).ToList();
'selezionare RESTAURANT.name'? – Backs
Trasmetti cosa a cosa? –
usa '.ToList()' –