Может быть, я делаю что-то не так, но для SQL Server CE я оставляю одно и то же соединение открытым и делюсь им для всех своих вызовов. Вы можете столкнуться с проблемами, если вы используете потоки вызовов, но в целом вы в порядке.
Большая разница между соединениями в SQL Server и SQL Server CE заключается в том, что вы не получаете пул соединений в SQL Server CE. Когда вы закрываете соединение в CE, оно исчезает. И открытие соединений может быть дорогим.