Ho già utilizzato L2S e sto cercando di utilizzare NHib insieme a Sharp Architecture su un progetto. Ho iniziato la prototipazione e mi sono imbattuto nel primo problema che non ho idea di come fare per Google.NHBernate POCO/Nozioni di base
Dato un POCO con alcune proprietà semplici, e una proprietà di riferimento (Categoria - classe non mostrato qui):
public class Post
{
public Post()
{
this.DateCreated = DateTime.Now;
}
public virtual string Title {get;set;}
public virtual DateCreated {get;set;}
public virtual Category {get;set;}
}
Questo è utile se voglio dire produrre una sintesi di tutti i messaggi in formato tabellare - se Voglio una colonna di nome "Categoria" e voglio mostrare il titolo della categoria posso semplicemente usare Post.Category.Title.
Tuttavia un utente crea un nuovo post (seleziona una categoria da un elenco a discesa o simile). Fanno clic su Invia e creo un oggetto Post. Tuttavia, prima che possa persistere nel nuovo post, devo recuperare un'istanza della categoria (da id) da assegnare alla proprietà Category?
Come ottenere il meglio da entrambi i mondi? Se aggiorno Post POCO, rendendo la categoria un int, ho reso più semplice la creazione di nuove istanze. Ma più difficile per qualche codice di rendering che ora dovrà risolvere il nome della categoria dato l'Id?
Mi sembra che manchi un concetto di base qui?
So che con Linq a Sql, dato uno schema in cui la tabella Post aveva una colonna chiave per campi interi denominata CategoryId, generava sia la colonna della tabella sottostante (CategoryId) che EntitySet che conteneva la riga di chiave esterna.
Come acheive simili in NHibernate? Come è generalmente gestito?
Grazie
@Justice - grazie per la modifica – ChssPly76
Grazie per la risposta. Questo scenario è web (asp.net mvc) e sto cercando di evitare troppe ricerche sul Db sul postback * solo * per ripopolare essenzialmente la ricerca oi dati referenziali al fine di mantenere un'entità che potrebbe avere molti associati entità. Il metodo di caricamento sembra ottimo (e avrei dovuto pensarci, ma come novellino ho bisogno di familiarizzare con NHib - il libro sta arrivando). – 6footunder