Dear Recardo;

1 - Evict the entities from the session, by calling ISession.Evict() or
ISession.Clear();
-- We tried Session.SessionFactory.Evict(typeof(M)); Session.Evict(obj);
Session.SessionFactory.EvictEntity(),
Session.SessionFactory.EvictCollection(); but dont refresh data..
-- We tried Session.Clear(), yes object refreshed from database but we got
exceptions when lazy loading.
2 - Use a stateless session, which doesn't have a first level cache, so
does not keep track of loaded entities;
-- We need lazy loading but Stateless session does not support this
feature.
3 - Manually call ISession.Refresh() on each loaded entity to get updated
values from the database.
-- Did you mean ISession.Refresh() for each list / collection object to run
Refresh() method. Isn't this performance issue?




2013/5/27 Ricardo Peres <[email protected]>

> Like Oskar said, NHibernate does not repopulate entities from the database
> unless a Refresh is called. The problem can be described as:
>
> 1 - In a session, you load some entity(ies) from the database, using Get,
> QueryOver, Query, or whatever;
> 2 - Some of the records that are mapped to the entity(ies) change in the
> database;
> 3 - In the same session, if you load the entity(ies) again, using whatever
> API you want, the changed columns are not mapped to the already loaded
> entity(ies).
>
> You have at least 3 choices:
>
> 1 - Evict the entities from the session, by calling ISession.Evict() or
> ISession.Clear();
> 2 - Use a stateless session, which doesn't have a first level cache, so
> does not keep track of loaded entities;
> 3 - Manually call ISession.Refresh() on each loaded entity to get updated
> values from the database.
>
> RP
>
>
> On Monday, May 27, 2013 10:15:38 AM UTC+1, Atilla İlhan KARTAL wrote:
>
>> We are using the code snippet below:
>>
>> Session.QueryOver<M>().Where(**expression).List<M>();
>>
>> Is this reloading objects or do we need to use something else?
>>
>> Thank you for your help in advance.
>>
>> Best Regards,
>>
>>
>> 2013/5/27 Oskar Berggren <[email protected]>
>>
>>> Are you also actually reloading the objects? NHibernate will typically
>>> not modify your existing objects once they are loaded.
>>>
>>> /Oskar
>>>
>>>
>>> 2013/5/26 Atilla İlhan KARTAL <[email protected]>
>>>
>>>>  Dear All;
>>>>
>>>> We are working with nhibernate on a winform project. We are using a
>>>> grid to list objects. When we try to run application on two different
>>>> computers, the grid doesn't refresh values. When a user changes something
>>>> on the list, even if the other user refreshes the grid, it doesn't show the
>>>> updated values. The database is updating, though.
>>>>
>>>> We tried Session.Clear(), Session.Evict(), Session.SessionFactory.Evict(
>>>> **typeof(object)), Session.QueryOver().CacheMode(**Refresh /
>>>> Ignore)... But none of them seems to be working. We are getting lazy load
>>>> exceptions. What can we do about it?
>>>>
>>>> Thank you for your help in advance.
>>>>
>>>> Best Regards,
>>>>
>>>> --
>>>> Atilla İlhan KARTAL
>>>> Web Application & Software Architect
>>>> (Java & PHP & Registered Android Developer)
>>>> Kuşadası / Aydın / Turkey
>>>> www.atillailhankartal.com.tr
>>>> twitter.com/TrojanMyth
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "nhusers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to nhusers+u...@**googlegroups.com.
>>>> To post to this group, send email to [email protected].
>>>>
>>>> Visit this group at 
>>>> http://groups.google.com/**group/nhusers?hl=en-US<http://groups.google.com/group/nhusers?hl=en-US>
>>>> .
>>>> For more options, visit 
>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>> .
>>>>
>>>>
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "nhusers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to nhusers+u...@**googlegroups.com.
>>> To post to this group, send email to [email protected].
>>>
>>> Visit this group at 
>>> http://groups.google.com/**group/nhusers?hl=en-US<http://groups.google.com/group/nhusers?hl=en-US>
>>> .
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>> .
>>>
>>>
>>>
>>
>>
>>
>> --
>> Atilla İlhan KARTAL
>> Web Application & Software Architect
>> (Java & PHP & Registered Android Developer)
>> Kuşadası / Aydın / Turkey
>> www.atillailhankartal.com.tr
>> twitter.com/TrojanMyth
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/nhusers?hl=en-US.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
Atilla İlhan KARTAL
Web Application & Software Architect
(Java & PHP & Registered Android Developer)
Kuşadası / Aydın / Turkey
www.atillailhankartal.com.tr
twitter.com/TrojanMyth

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to