Tengo un código que necesita verificar una entidad cuando es guardado por mi Repositorio. Tengo un interceptor NHibernate en el ahorrar para comprobar esto, pero cuando llamo a la función GetGenericTypeDefinition
el código falla con el error:¿Por qué GetGenericTypeDefinition falla?
[InvalidOperationException: Operation is not valid due to the current state of the object.] System.RuntimeType.GetGenericTypeDefinition() +7525641
Código es la siguiente:
protected override object PerformSaveOrUpdate(SaveOrUpdateEvent evt)
{
if (evt.Entity.GetType().GetGenericTypeDefinition() == typeof(IChild<>))
{
var parent = (evt.Entity as IChild<Entity>).Parent;
if (parent != null)
{
parent.UpdateCacheCounters();
evt.Session.Save(parent);
}
}
}
sería muy apreciada Cualquier ayuda.
Podría ver si evt.Entity.GetType() en sí ya no? Sería útil saber exactamente qué función falla la llamada en este ejemplo. La excepción no parece una excepción devuelta por GetGenericTypeDefinition(). –
No deja de obtener evt.Entity.GetType() – Richard