PDA

View Full Version : [Hibernate/Nhibernate]Get last insert id


RaouL_BennetH
09-06-2009, 16:06
Come da titolo: ci sarebbe modo di ottenere mediante un session.Get soltanto l'ultimo record inserito riferendomi ad un iD ?

Grazie :

RaouL_BennetH
09-06-2009, 17:29
Ho trovato questo modo:



public T GetByLastInsertId<T>(string entityField, string userInput, string orderByField)
{

using(ISession session = WhatEverSessionManager.OpenSession())
{
T t = session.CreateCriteria(typeOf(T))
.Add(Expression.Eq(entityField, userInput))
.AddOrder(Order.Desc(orderByField))
.SetMaxResults(1).UniqueResult<T>();

return t;
}
}



ma...mi sembra eccessivamente complicato :mbe:


P.S.: esempio di utilizzo:



IMiaInterfaccia gestore = new MioDbManager();
MyEntity entity = gestore.GetByLastInsertId<MyEntity>("ColonnaEntitą", txtQualcosa.Text, "ID_Entitą");