Have you tried using Skip() and Take() methods ?
Skip(n) will jump the n number of records and Take(n) will return n many records.
for example you could try
var subjects = db
.Subjects
.Where(s=> s.subjectNoted == false)
.OrderBy(s=> s.idSubject)
.Skip(1)
.Take(1)
.FirstOrDefault();
One thing is you do need to add an order by to your query before you can do a skip / take.