I hope you will implements DataAccess "Logic" 2010/1/26 ehnn <[email protected]>
> 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]<nhusers%[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]<nhusers%[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]<nhusers%[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.
