2013-10-03 4 views
0

J'ai deux classes par exempleEnchaînement plusieurs classes avec pimpant

class User 
{ 
    string name {get;set;} 
    int age {get;set;} 
    Register reg {get;set;} 
} 

class Register 
{ 
datetime time {get; set;} 
bool active {get;set;} 
} 

J'ai la requête créée pour correspondre aux propriétés, mais je veux cartographier les valeurs aux valeurs dans mes CLASSIFICATION DES.

Comment est-ce que je devrais obtenir ceci pour fonctionner dans dapper?

Répondre

0

Vous pouvez utiliser une requête multimap avec l'argument spliton. Comparez http://www.tritac.com/bp-24-dapper-net-by-example:

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;} 
    public Shop Shop {get;set;} 
} 
public class Shop { 
    public int? ShopId {get;set;} 
    public string Name {get;set;} 
    public string Url {get;set;} 
} 

var resultList = conn.Query<Account, Shop, Account>(@" 
       SELECT a.Name, a.Address, a.Country, a.ShopId 
         s.ShopId, s.Name, s.Url 
       FROM Account a 
       INNER JOIN Shop s ON s.ShopId = a.ShopId      
       ", (a, s) => { 
        a.Shop = s; 
        return a; 
       }, 
       splitOn: "ShopId" 
       ).AsQueryable();