Why not simply:
IList<string> result = session
.CreateQuery("select m.Text from Message where m.Read = false
and ...")
.List<string>();
and
session.Update("Message set m.Read = false where ...");
You could also have a list of ids to know which messages need to be
set to read.
On 14 Aug., 14:39, "[email protected]" <[email protected]> wrote:
> In our domain model, we have a Message entity. Message entity is basic
> class with a simple string property and a status bool property if the
> message is "read" or not . The thing is we are expecting millions of
> messages and we would like to archive "read" messages.
>
> So I thought I could make use of "entity-name" property to
> distinguish messages and "read" messages into to two different tables
> so that selecting unread messages will perform better.
>
> But I am not sure how to manage it exactly, because a message can be
> transformed from read to unread if it is read.
>
> So what do you recommend, entity-name is the way to go? should I use
> an interceptor to make unread messages read (thus returning a
> different entity name if message is read from interceptor) Will this
> move the row from one table to another ?
>
> What other strategies you use for "big" tables ?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---