現在、ServiceStack の OrmLite ライブラリを使用している場合、単一のエンティティを選択したい場合は、次のようにします。
AppUser user = db.First<AppUser>(q => q.Id == id);
ただし、Singleの方が正確であるため(明らかに、同じIDを持つ複数のユーザーがデータベースに到達した場合に例外をスローしたい)、使用できるオーバーロードがあるかどうか疑問に思っていました。現在、db.Single を実行すると、手動フィルタリングでそのオーバーロードが発生します。
public static T SingleOrDefault<T>(this IDbConnection dbConn, string filter);