Eu tenho um aplicativo asp.net no qual estou usando o linq para manipulação de dados. Durante a execução, recebo a exceção "Sequência não contém elemento correspondente".
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;
}
}
}
o.ID
lançaria uma NullReferenceException em um valor nulo.Da biblioteca MSDN:
fonte
Para aqueles que enfrentaram esse problema ao criar um controlador por meio do menu de contexto, a reabertura do Visual Studio como administrador corrigiu o problema.
fonte
Talvez usar Where () antes de First () possa ajudá-lo, já que meu problema foi resolvido neste caso.
fonte