If Linq2SQL does things poorly here, then we may add some value with DbLinq.Eagerly loading (being the opposite of lazy... I don't have a better word here... I think ), is of course a complex problem, since it's hard to tell until where the loading should go. If "A" references "B", and "B" references "C", what shall I load now? As and Bs? Cs? Ideally, all of this should be controlled by the application, that's why I was thinking to the DataLoadOptions.LoadWith(). If we can get the same behaviour as LinqToSQL but with better performance that's a good point for us.
Apparently, I need to read the documentation first :) On Tue, Sep 16, 2008 at 14:56, Pablo Iñigo Blasco <[EMAIL PROTECTED]> wrote: > Hi Pascal! > > On Tue, Sep 16, 2008 at 1:25 PM, Pascal Craponne <[EMAIL PROTECTED]> wrote: > >> Your analysis is good and you English understandable ;) >> >> > I'm glad for that. ^^ > > I think both options A and B can be used in Linq2SQL (using parameters... I >> don't remember which ones) >> > > I don't understand, Do you refer to DataLoadOptions.LoadWith method? > example: DataLoadOptions.LoadWith<Employee>.LoadWith(e=>e.Orders) > > If so, I used that in my project (Cuadernos de Campo > project<http://161.111.228.104/cuadernosenlared/extranet>, > excuse me for the spam ;-D) and it was a disappointment. > > I hoped that a query like "db.Employee.Where(xxx)" would generate a sql > wich would retrieve all product data. But the truth was that a database > access was made for each employee to get it. DataLoadOptions behaves like a > post-script executed after the standar loading of linq2sql. > > I mean, AFAIK the behaviour is not configurable by the programmer in > linq2sql. The retrieved data is only those which is specified in the query. > > >> So, in theory, the EntitySet might be able to hold directly a set or load >> it on demand. >> > > Yeah. It is also related with the recent thread about > Lazy-Loading<http://groups.google.com/group/dblinq/browse_thread/thread/283191499b74199f> > . > > Maybe It would be interesting for you to take a look to the > DataContext.SetEntitySetsQueries(object entity). This method is called when > a new entity is being registered. This is the momment when all of his > EntitieSet properties are configured (but not loaded). > This code can be useful also to implementing the point A.4 point. > > There is a Load() method on the EntitySet, and that's the purpose. >> > > When the EntitySet.Load, EntitySet.GetEnumerator or any System.Linq > extensions methods are called, then the data is retreived from the database. > > I'd like to take a look at the engine to see what are the best options to >> make the best implementation >> > > Of course, I tried to implement it during the summer but I resigned since a > lot of archiectural decitions should be taken. > > >> (your suggestions sounding good anyway). I'll make an additional post here >> in a few days, hopefully. >> > > Nice! take the time you need! > If you need something, just ask me. > > Regards. > > > > -- Pascal. jabber/gtalk: [EMAIL PROTECTED] msn: [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DbLinq" 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/dblinq?hl=en -~----------~----~----~----~------~----~------~--~---
