That's more of a statement, and not much of a question.

But, it makes sense when using e.g. CQS/CQRS, and you require the ID after database insert.

If you let the database generate the ID in that case, you'd have to either 1) make the command return an ID, which is not ideal, since commands should not return anything, or 2) have to immediately perform a query to get the newly created ID.

It make more sense in this case to let the application or domain entity itself create the id.

MSc. | Tech writer with +1M views. Sharing my opinion and what I learn. .NET backend engineer, ex big4 SC. New YouTube Channel