/ / Petapoco: come catalogare gridview usando join da due tabelle? - petapoco

Petapoco: come catalogare gridview usando join da due tabelle? - petapoco

Non voglio fare una lezione personalizzata.

var q = db.Query<dynamic>(query); //This does not work

la query ha join e colonne create su misura da più tabelle.

risposte:

2 per risposta № 1

Puoi controllare il metodo "ExecuteReader" di PetaPoco.cs per vedere se assomiglia a qualcosa di simile (vedi il codice sotto):

il mio file non ha alcun codice nella funzione quindiLo modifico dopo l'esecuzione del metodo scalare. questo restituirà un DataTable generico perfettamente associabile a datagrid. tuttavia tieni presente che per apportare eventuali modifiche ai dati sarà necessario implementare i propri metodi CRUD come DataTable risultante è in sola lettura.

    //Execute Reader
public DataTable ExecuteReader(string sql, params object[] args)
{
try
{
OpenSharedConnection();
try
{
using (var cmd = CreateCommand(_sharedConnection, sql, args))
{
var val = cmd.ExecuteReader();
OnExecutedCommand(cmd);
var dt = new DataTable();
dt.Load(val);
return dt; //(T)Convert.ChangeType(val, typeof(T));
}
}
finally
{
CloseSharedConnection();
}
}
catch (Exception x)
{
OnException(x);
throw;
}
}

public DataTable ExecuteReader(Sql sql)
{
return ExecuteReader(sql.SQL, sql.Arguments);
}

0 per risposta № 2

Creare una classe che contenga i campi delle due tabelle che si desidera visualizzare nella griglia. Compilare la query con un'istruzione SQL che unisce le tabelle e restituisce le colonne necessarie. Poi

var q=db.Query<YourClassName>.Query(query)

dovrebbe funzionare.


0 per risposta № 3

È possibile creare una vista del database e quindi i modelli T4 genereranno automaticamente la classe per quello. Devi aggiungere

IncludeViews = true;

su Database.tt