ho avere una persona un'entità:E 'possibile che nhibernate restituisca una query come IDictionary invece di una classe di entità?
public class Person
{
public virtual int Id {get; set; }
public virtual string FirstName { get; set; }
public virtual string MiddleName { get; set; }
public virtual string LastName { get; set; }
}
con le mappature:
public class PersonMap
{
public PersonMap()
{
Table(TABLE_NAME);
Id(x => x.Id);
Map(x => x.FirstName).Not.Nullable();
Map(x => x.LastName).Not.Nullable();
Map(x => x.MiddleName).Not.Nullable();
}
}
Ci sono alcune stuations dove vorrei NHibernate per restituire un dizionario al posto del soggetto:
IDictionary<string,string> person = session.Get(id);//????
string firstName = person["FirstName"];
E 'possibile senza aggiungere una mappatura diversa?
Soluzione molto pulita. Eccellente! –
Come verrebbe utilizzato dalla query? Puoi mostrare l'utilizzo? – emirhosseini
@emirhosseini: l'utilizzo è simile a: session.CreateSQLQuery ("seleziona p.Nome, p.Prezzo, p.ProductId da Prodotto p"). SetResultTransformer (nuovo DictionaryResultTransformer()). Elenco>(); –
DanP