Если вы имеете в виду недобровольные переключения контекста, то в разделе /proc
есть как минимум пара файлов:
# cat /proc/61115/status | grep ctxt_switches
voluntary_ctxt_switches: 6511
nonvoluntary_ctxt_switches: 143
# cat /proc/61115/sched
bash (61115, #threads: 1)
-------------------------------------------------------------------
...
nr_switches : 6594
nr_voluntary_switches : 6451
nr_involuntary_switches : 143
Просто замените номер 61115 на требуемый pid.
DataContext.DatabaseExists()
or
DataContext.Connection.Open()
Какой конкретный сценарий вы пытаетесь защитить?
DataContext не совпадает с DataSet - это не является (обязательно) контейнером данных (за исключением управления идентификацией / отслеживания изменений) - это источник данных.
В общем, он не даст вам объект (из запроса), если произойдет ошибка - он выдаст исключение. Поэтому, если вам был дан экземпляр LINQ-to-SQL, в нем должно быть что-то.
Вы видите конкретную проблему, которую хотите избежать?