Subsonic 3 – SimpleRepository

Sto giocando con il semplice repository di Subsonic 3 e sto colpendo i muri per capire come gestire le chiavi esterne …

Se ho un object prodotto contenente

int ID; string name; string description; Category category; int categoryID (this one is just to persist the product's categoryID to the DB) and a category object containing int ID; string name; 

Come posso utilizzare il repository per riportare un elenco di tutti i prodotti con il loro object categoria istanziato?

Al momento ho scritto una query linq che si unisce su product.categoryID = category.ID che è tutto molto bello, ma quando I .ToList () i risultati di questa query, la categoria del prodotto non viene istanziata.

C’è un modo per farlo, o devo istanziare manualmente la categoria per ogni prodotto?

Grazie,

Paolo

hai bisogno di ottenere linq per popolarlo,
usando qualcosa come
var query = dal prodotto in repo.All (Prodotto)
Unisciti a categoryItem in repo.All (Category)
su product.CategoryId è uguale a categoryItem.Id
seleziona nuovo {
ID = product.ID,
nome = nomeprodotto,
descrizione = product.description,
categoryId = product.CategoryId
category = categoryItem
};

Questo articolo sembra affrontare “caricamento ansioso” con subsonic: http://tryingthisagain.com/2007/12/03/hijacking-the-subsonic-relationship-load-process/