c# - studio - La actualización por lotes devolvió un recuento de filas inesperado desde la actualización; recuento real de filas: 0; esperado: 1
nhibernate types (2)
Debe establecer el objeto Id en null
antes de guardar.
ejemplo:
obj.setId(null);
objectDao.save(obj);
Estoy teniendo dificultades para averiguar la excepción de NH:
La actualización por lotes devolvió un recuento de filas inesperado desde la actualización; recuento real de filas: 0; esperado: 1
Mi código Dal:
public T Save(T item)
{
using (ISession session = NHibernateHelper.GetSession())
{
using (var transaction = session.BeginTransaction())
{
session.SaveOrUpdate(item);
transaction.Commit();
return item;
}
}
}
Mi archivo log4net:
comando 0: ACTUALIZAR Metadata_FriendDetails SET UserId = @ p0, Email = @ p1, Nombre = @ p2 DONDE FriendId = @ p3; @ p0 = a358ab9d-d481-4bdd-8cb2-18ddc8898c70 [Tipo: Guid (0)], @ p1 = ''[email protected]'' [Type: String (4000)], @ p2 = ''myFriend'' [Type: String (4000)], @ p3 = 2ea35658-edb1-43e3-b848-e1915d1042df [Type: Guid (0) ]
2011-12-02 13: 06: 49,750 [Agente: hebra de ejecución del adaptador para la prueba ''SaveFriendDetails_Test'' con id ''17016e48-1ff4-4dea-8536-6aa3b24e5fb7''] DEBUG NHibernate.AdoNet.AbstractBatcher - Closed IDbCommand, IDbCommands: 0 2011 -12-02 13: 06: 49,751 [Agente: secuencia de ejecución del adaptador para la prueba ''SaveFriendDetails_Test'' con id ''17016e48-1ff4-4dea-8536-6aa3b24e5fb7''] ERROR NHibernate.Event.Default.AbstractFlushingEventListener - No se pudo sincronizar la base de datos del estado con el estado de la información con el estado NHibernate.StaleStateException: la actualización por lotes devolvió un recuento de filas inesperado de la actualización; recuento real de filas: 0; esperado: 1
¿Alguien ve el problema?
TIA
el problema era que en Guardar no debería proporcionar el valor de id y en la actualización debo proporcionarlo.