Попробуйте что-то вроде этого:
var user = (from u in dc.Users
where u.UserName == usn
select u).FirstOrDefault();
метод FirstOrDefault возвращает первый элемент последовательности, которая удовлетворяет указанное условие или значение по умолчанию, если никакой такой элемент не найден.
Да. Байт-код изменяет только основные выпуски. Релизы обновления (_XX) - это исправления ошибок на основе API и инструментов, повышение производительности и изменения нестандартных переключателей команд. Выпуски обновлений не нарушают работу API или не изменяют версии файлов классов.
1) Bah для системы нумерации версий Suns.
Формат файла класса имеет номер версии именно для того, чтобы решить этот вопрос. Если бы в той же версии произошло критическое изменение, я бы ожидал, что номер формата файла класса также увеличится (возможно, minor_version, который до сих пор не использовался), тем самым заставляя старые JVM немедленно отклонять файлы классов с помощью UnsupportedClassVersionError
Да, он должен быть двоично совместимым, за исключением некоторых крайних случаев в этом документе.