Hi! I forgot to say that I think that it is a very good start!
1. Since there are quite a few limitations to the bulk insert, I've needed to allow unmapped classes through my bulk inserter. One scenario is adding rows to a ManyToMany table, another is is joined components. For these cases the convention is that the table name is specified and the column names are the property names. 2. NH-3606 would be a good thing 3. By using an intermediate table and the OUTPUT clause in the following INSERT 4. Alexander's suggestion to only allow this on IStatelessSession makes sense. /G 2014-10-29 8:55 GMT+01:00 Ricardo Peres <[email protected]>: > Hi, Gunnar! > > Thank you so much for your feedback! Will try to address your questions. > > 1. What do you mean with only mapped classes? How would we know the table > and columns for unmapped classes? Or are you talking about the class > template restriction? If so, that is kind of an unofficial requirement for > NHibernate, since structs cannot be subclassed. > 2. Maybe you are right. In this case, I will have to spawn a new stateless > session from the current session (if it is currently not one), which may > have to wait for my pull request for NH-3606 to be merged. Or manually > generate INSERTs, which I wouldn't like. Another option is to not have a > default, that is, in cases where it is not supported, return null from > DriverBase, which will result in an exception. > 3. Yes it is, but for a single record: SCOPE_IDENTITY only returns the > last IDENTITY inserted. Or are talking something else? > 4. You mean, check if each entity is in the session cache? This will > likely slow things a bit. Also, the BulkInsert method does not add the > entities to this cache - unless, of course, in DefaultBulkProvidet, when it > uses ISession.Save - so they will never be flushed. > > I understand what you mean about making bulk a feature, but this requires > substantial architectural changes, which were outside the scope of what I > wanted. Maybe something to consider, if there is the will for that. > @hazzik also gave some feedback on the code, I will do some changes. > > Again, thanks! > > RP > > -- > > --- > You received this message because you are subscribed to the Google Groups > "nhibernate-development" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- --- You received this message because you are subscribed to the Google Groups "nhibernate-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
