Ho la seguente situazione:
table1
------------
ID Name Param1 Param2 Param3 RegistrationID
1 Test Value1 Value2 Value3 101
table2
------------
RegistrationID LangID Value
101 EN English-Value
101 DE German-Value
101 IT Italian-Value
Sono interessato a quelle che sono buone convenzioni di programmazione. Ad esempio
-
Restituisce due stored procedure
select id, name, param1, param2, param3, registrationID from table1 where id = @ID select registrationID, langid, value from table2 where registrationid = @RegistrationID
Se necessario su un altro livello, unisci questi dati in una singola classe.
-
Avere una stored procedure che restituirà tutto
select id, name, param1, param2, param3, registrationID, langid, value from table1 inner join tabl2 on table.registrationid = table1.registrationid where id = @ID
E crea una classe dai dati restituiti.
Gli approcci sono diversi, perché la soluzione 1 dovrà accedere al DB due volte, ma è più facile riutilizzare le stored procedure poiché non uniscono oggetti (tabelle). Nella soluzione 2 è necessario solo un viaggio su DB, ma la procedura memorizzata diventa disordinata e restituisce sia la chiave esterna che tutti i suoi valori.
So che non esiste una risposta per tutti, ma che cos'è una buona pratica? Mi rivolgo alla soluzione 1, ma sono un po 'preoccupato per i viaggi di andata e ritorno in Germania.