LLBLGen Pro doesn't use database locks on table rows to prevent some sort of concurrency control;
That must be the line that confused you
, it means that LLBLGen Pro doesn't force a concurrency control on you, yet it supports all modes. You will have to decide what level or mode you want to use.
The following was copied from LLBLGen Pro documentation
_Design your concurrency scheme before you start creating a LLBLGen Pro project. LLBLGen Pro supports all concurrency schemes thinkable using the IConcurrencyPredicateFactory interface you can implement to specify per-entity concurrency control. If you want to use timestamp columns for example, be sure you define these up front in the schema
How do I implement concurrency control?
Concurrency control is something that can be implemented in various ways. Because there are numerous ways to implement concurrency control (abstract concurrency control using functionality locking, low level concurrency schemes with optimistic locking or pessimistic locking, all fields filters, timestamp filters etc.), the generated code offers you the tools to produce the concurrency scheme you want. To implement low level concurrency control like optimistic locking, predicates are used to limit the scope of a query executed. These predicates are added to the query being executed, for example an update query or a delete query, as a new clause to the WHERE clause of the query, using AND.
To produce these predicates automatically, it's wise to implement IConcurrencyPredicateFactory for the class(es) you want concurrency control for. See the sections about concurrency control (Selfservicing or Adapter) for more details about this._
For further reading please check the subject:Concurrency control in the LLBLGen Pro documentation under "Using the generated code - Adapter/SelfServicing - Using the entity classes"