Empiezo a tratar con LINQ To SQL y trato de resolver este problema primitivo. Tengo una tabla muy simple con dos columnas.Seleccionar una sola fila con LINQ TO SQL
- Nick - clave, único
- contraseña
quisiera eliminar fila con un valor nick.
que utiliza este método:
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();
}
}
El problema es que debo usar user.First() si quiero una sola fila, me gustaría seleccione con LINQ sólo una fila saber IEnumerable, porque Nick es único .
¿Por qué pones el try-catch ya que el alcance ya está declarado con el bloque using y la transacción se cancelará si no se llama al método completo? –
@Davide Piras: la pregunta original ya lo tenía, simplemente lo copié. Pero estoy de acuerdo, esto es un poco desacertado, capturar y ** manejar ** la excepción, o simplemente dejar que ocurra y burbujear ... –
@Davide Piras: arreglé mi respuesta, ¡esto tiene más sentido! Si ocurre una excepción, la persona que llama necesita tratar con ella –