Ormlite createdBy & lastUpdatedBy

You can see the full source code (and have full control over) what it does, It’s not related to OrmLite it’s simply an extension method that populates a C# instance.

If you’re asking if it populates child properties of the class, it doesn’t as can be seen by the source code. You’ll either need to call the ext method on the instances you want to save or use some reflection to auto populate any properties that implement IAudit or whatever custom Interface or base class your App is using. e,g:

db.Insert(new Record { 
    ... 
    ChildItems = childItems.Map(x => x.WithAuth(Request)),
}.WithAudit(Request));

Or this can be further condensed to:

    ChildItems = childItems.WithAudit(Request),

When you add a new ext method:

public static class AuditExtensions
{
    public static List<T> WithAudit<T>(this List<T> rows, IRequest req) where T : IAudit => 
        rows.Map(x => x.WithAudit(req.GetSession().UserAuthId));

    public static T WithAudit<T>(this T row, IRequest req) where T : IAudit => 
        row.WithAudit(req.GetSession().UserAuthId);

    public static T WithAudit<T>(this T row, string userId) where T : IAudit
    {
        row.CreatedBy = userId;
        row.CreatedDate = DateTime.UtcNow;
        return row;
    }
}