Thanks for the responses. Based on this I will implement my own
business logic for dealing with this amount of records.



On Jan 26, 7:21 am, Oskar Berggren <[email protected]> wrote:
> Use the HQL "select p.Id from Person p" to have nhibernate translate
> to your current SQL dialect.
>
> Also, you can hardly display 200000 rows on the screen at a time. Are
> you sure it's a good idea to load even all the identifiers? Do the
> user really want to scroll through all that instead of using a search
> function of some sort?
>
> As Fabio says, NHibernate isn't optimized for the case when you really
> must fetch a lot of data at a time.
>
> /Oskar
>
> 2010/1/26 Fabio Maulo <[email protected]>:
>
>
>
> > The best way to work with 200K data-record is not using NH.
> > If you need to upload 200K data in a winForm, please, use something else
> > than NH.
> > Thanks.
>
> > 2010/1/25 ehnn <[email protected]>
>
> >> Hello all,
>
> >> I've just started using nhibernate and fluent nhiberate (so far about
> >> 24 hours). I've created the static session factory class (following
> >> many examples found on blogs etc) and have done the following in a
> >> winform's constructor to store 200,000 rows into a table (I need to do
> >> this to simulate the size of the datasets I will be dealing with):
>
> >>            int i = 0;
> >>            var s = SessionFactory.GetSession();
> >>            using (var tx = s.BeginTransaction())
> >>            {
> >>                while (i < 200000)
> >>                {
> >>                    var p = new Person { FullName = i.ToString() };
> >>                    s.Save(p);
> >>                    i++;
> >>                }
> >>                tx.Commit();
> >>            }
>
> >> This executes fine against the backend mssql, populating the person
> >> table with 200,000 rows. (Simple columns in table/entity, eg.
> >> FullName, Email, Address etc).
>
> >> If I now do this in another form constructor:
>
> >> var l = SessionFactory.GetSession().CreateCriteria<Person>().List();
>
> >> ... This takes about 20 seconds to get all the objects back. (I then
> >> bind this list to a bindingnavigator / bindingsource on a form.)
>
> >> Ideally, I want to be able to just get back a list of ID's, e.g....
> >> var q = session.CreateSQLQuery("SELECT Id FROM Person")
> >> ... bind this up to the bindingnavigator, and then get each entity as
> >> I move back / forward through the list so that the whole process is
> >> faster.
>
> >> What is the *best* or *recommended* way to go about this?
>
> >> Please excuse my ignorance if I am missing something obvious, I am new
> >> to nhibernate, however I have searching posts / blogs and do not know
> >> the answer.
>
> >> Thanks in advance for any help.
>
> >>    public class Person
> >>    {
> >>        public virtual int Id { get; protected set; }
> >>        public virtual string FullName { get; set; }
> >>        public virtual string KnownAs { get; set; }
> >>        public virtual string Title { get; set; }
> >>    }
>
> >> --
> >> 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.
>
> > --
> > Fabio Maulo
>
> > --
> > 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.- Hide quoted text -
>
> - Show quoted text -

-- 
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.

Reply via email to