Microsoft SQL Server Compact supports multigranular locking that permits different types of resources to be locked by a transaction.
SQL Server Compact automatically locks the required data to protect all the operations of a transaction, including:
Data manipulation language (DML)
Data definition language (DDL)
Query statements at the required isolation level
SQL Server Compact automatically locks rows of data, and any relevant index pages, to ensure maximum concurrency. As a transaction locks more resources, the granularity of the lock automatically increases to an entire table so that lock maintenance is reduced.