usa the temporada season ganadores ganador finalists finalistas dapper

the - ¿Resultado simple de unión interna con Dapper?



the voice ganadores 2018 (1)

Puedes hacer algo como esto (ver https://www.tritac.com/blog/dappernet-by-example ):

public class Shop { public int? Id {get;set;} public string Name {get;set;} public string Url {get;set;} public IList<Account> Accounts {get;set;} } public class Account { public int? Id {get;set;} public string Name {get;set;} public string Address {get;set;} public string Country {get;set;} public int ShopId {get;set;} } var lookup = new Dictionary<int, Shop>() conn.Query<Shop, Account, Shop>(@" SELECT s.*, a.* FROM Shop s INNER JOIN Account a ON s.ShopId = a.ShopId ", (s, a) => { Shop shop; if (!lookup.TryGetValue(s.Id, out shop)) { lookup.Add(s.Id, shop = s); } if (shop.Accounts == null) shop.Accounts = new List<Account>(); shop.Accounts.Add(a); return shop; } ).AsQueryable(); var resultList = lookup.Values;

Parece que no puedo encontrar documentación o ejemplos para mi problema (he estado buscando un tiempo ahora). Creo que mi problema es bastante sencillo, así que aquí va.

Tengo dos mesas. Mi tabla principal se llama Personas y la tabla secundaria es PersonEntries. Para cada persona en la tabla Persona, puedo tener 0 o más entradas en la tabla PersonEntries. Me gusta esto.

Table: Person Id Name Table: PersonEntry PersonId CheckinTime CheckoutTime

Tengo dos objetos como este

public class Person { public string Name; public List<PersonEntry> PersonEntries; } public class PersonEntry { public DateTime CheckinTime; public DateTime CheckoutTime; }

Si tuviera que obtenerlo de la base de datos en mis clases de c #, ¿cómo lo haría? Puedo asignar una sola tabla a mi clase c # y hacerlo para cada tabla, pero luego me queda para hacer coincidir las entradas que se asignan a cada persona.

He visto varios ejemplos de mapeo de ONE PersonEntry a ONE Person, el problema aquí es que tengo una relación de cero a muchos. Mi persona tiene una lista de elementos PersonEntry.