Tengo una aplicación asp.net en la que estoy usando linq para la manipulación de datos. Mientras se ejecuta, obtengo la excepción "La secuencia no contiene ningún elemento coincidente".La secuencia no contiene ningún elemento coincidente
if (_lstAcl.Documents.Count > 0)
{
for (i = 0; i <= _lstAcl.Documents.Count - 1; i++)
{
string id = _lstAcl.Documents[i].ID.ToString();
var documentRow = _dsACL.Documents.First(o => o.ID == id);
if (documentRow !=null)
{
_lstAcl.Documents[i].Read = documentRow.Read;
_lstAcl.Documents[i].ReadRule = documentRow.ReadRule;
_lstAcl.Documents[i].Create= documentRow.Create;
_lstAcl.Documents[i].CreateRule = documentRow.CreateRule;
_lstAcl.Documents[i].Update = documentRow.Update;
_lstAcl.Documents[i].UpdateRule = documentRow.UpdateRule;
_lstAcl.Documents[i].Delete = documentRow.Delete;
_lstAcl.Documents[i].DeleteRule = documentRow.DeleteRule;
}
}
}
Solo para aclarar un poco - Primero * podría * devolver nulo en general, si su predicado coincidía con valores nulos. Simplemente no puede devolver nulo aquí, ya que 'o.ID' arrojaría una NullReferenceException en un valor nulo. –
@Jon Skeet: +1 - tienes razón. –