Mam aplikację asp.net, w której używam linq do manipulacji danymi. Podczas uruchamiania otrzymuję wyjątek „Sekwencja nie zawiera pasującego elementu”.
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
zgłosiłby wyjątek NullReferenceException na wartość null.Z biblioteki MSDN:
źródło
Dla tych z Was, którzy napotkali ten problem podczas tworzenia kontrolera za pomocą menu kontekstowego, ponowne otwarcie programu Visual Studio jako administrator rozwiązało problem.
źródło
Może użycie Where () before First () może ci pomóc, ponieważ mój problem został rozwiązany w tym przypadku.
źródło