Dotnet, Efcore.
the maximum of both possibilities. This means that structural definitions (table, keys, index) are implemented as IEntityTypeConfiguration and all content definitions (lengths, Unicode, requirements...) are attached to the entity as attributes. Therefore, this implementation is the one that I use