user-summary.vala 757 B

1234567891011121314151617181920212223
  1. using InvercargillSql.Orm;
  2. using InvercargillSql.Orm.Projections;
  3. /**
  4. * Simple projection demonstrating basic field selection from a single entity.
  5. */
  6. public class UserSummary : Object {
  7. public int64 user_id { get; set; }
  8. public string user_name { get; set; }
  9. public string email { get; set; }
  10. public UserSummary() {
  11. user_name = "";
  12. email = "";
  13. }
  14. public static void configure_projection(ProjectionBuilder<UserSummary> p) throws ProjectionError {
  15. p.source<User>("u")
  16. .select<int64?>("user_id", "u.id", (x, v) => x.user_id = v)
  17. .select<string>("user_name", "u.name", (x, v) => x.user_name = v)
  18. .select<string>("email", "u.email", (x, v) => x.email = v);
  19. }
  20. }