示例#1
0
 public override object InternalLoad(string entityName, object id, bool eager, bool isNullable)
 {
     using (BeginProcess())
     {
         IEntityPersister persister = Factory.GetEntityPersister(entityName);
         object           loaded    = temporaryPersistenceContext.GetEntity(GenerateEntityKey(id, persister));
         if (loaded != null)
         {
             return(loaded);
         }
         if (!eager && persister.HasProxy)
         {
             return(persister.CreateProxy(id, this));
         }
         //TODO: if not loaded, throw an exception
         return(Get(entityName, id));
     }
 }
 public override object InternalLoad(string entityName, object id, bool eager, bool isNullable)
 {
     using (new SessionIdLoggingContext(SessionId))
     {
         CheckAndUpdateSessionStatus();
         IEntityPersister persister = Factory.GetEntityPersister(entityName);
         object           loaded    = temporaryPersistenceContext.GetEntity(GenerateEntityKey(id, persister, EntityMode.Poco));
         if (loaded != null)
         {
             return(loaded);
         }
         if (!eager && persister.HasProxy)
         {
             return(persister.CreateProxy(id, this));
         }
         //TODO: if not loaded, throw an exception
         return(Get(entityName, id));
     }
 }