On Sat, 21 Sep 2013 11:03:34 GMT, Dicebot wrote:

On Sat, 21 Sep 2013 00:51:52 GMT, simendsjo wrote:

I didn't want to write all those "copy from row to object", so I hacked together something with UDAs

    @dbexpr("FROM user ORDER BY username ASC")
    struct UserListItem
    {
        @dbexpr("user_id")
        int user_id;

        @dbexpr("username")
        string username;
    }
    const users = db.queryExpr!UserListItem;

    res.render!("user.list.dt", req, users);

Possible improvement proposal! :) One can simply use __traits(identifier) in absence of @dbexpr on member field to keep interface more DRY when names match.

Yeah, thought of implementing that. And support for insert, update, delete.

I absolutely love declarative programming in D though. Working on REST module was no doubt my most awesome D coding experience :)

Ditto. Love to see where this is going once people gets more experience using it and compiler bugs gets sorted out.
I'm really hoping someone will implement AutoMapper for D.