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.
