Inizio a trattare con LINQ A SQL e provo a risolvere questo problema primitivo. Ho una tabella molto semplice con due colonne.Selezionare una riga singola con LINQ TO SQL
- Nick - chiave, unico
- password
Vorrei eliminare la riga con un certo valore nick.
Io uso questo metodo:
public void DeleteSpiritUser(string nick)
{
var user = from u in _dc.Spirit_Users where u.Nick == nick select u;
using (var scope = new TransactionScope())
{
_dc.Spirit_Users.DeleteOnSubmit(user.First());
try
{
_dc.SubmitChanges();
}
catch (Exception exception)
{
throw exception;
}
scope.Complete();
}
}
Il problema è che devo usare user.First() se voglio una singola riga, vorrei selezionare con LINQ una sola fila conoscere IEnumerable, perché Nick è unica .
Perché hai inserito il try-catch poiché l'ambito è già dichiarato con il blocco using e la transazione verrà interrotta se non viene chiamato il metodo completo? –
@Davide Piras: la domanda originale era già quella - l'ho appena copiato. Ma sono d'accordo - questo è un po 'off - o prendi e ** gestisci ** l'eccezione, o poi lascia che accada e bolla ... –
@Davide Piras: risolta la mia risposta - questo ha più senso! Se si verifica un'eccezione, il chiamante deve affrontarlo –