using InvercargillSql.Orm; using InvercargillSql.Orm.Projections; /** * Join projection demonstrating entity relationships across User, Order, and Product. */ public class OrderDetail : Object { public int64 order_id { get; set; } public string user_name { get; set; } public string product_name { get; set; } public int64 quantity { get; set; } public double total { get; set; } public string status { get; set; } public OrderDetail() { user_name = ""; product_name = ""; status = ""; } public static void configure_projection(ProjectionBuilder p) throws ProjectionError { p.source("u") .join("o", "u.id == o.user_id") .join("p", "o.product_id == p.id") .select("order_id", "o.id", (x, v) => x.order_id = v) .select("user_name", "u.name", (x, v) => x.user_name = v) .select("product_name", "p.name", (x, v) => x.product_name = v) .select("quantity", "o.quantity", (x, v) => x.quantity = v) .select("total", "o.total", (x, v) => x.total = v) .select("status", "o.status", (x, v) => x.status = v); } }