@Giacomo: DataContext has not to be thread-safe. See http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.aspx<http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.aspx>If an application wants thread safety around it, it is its own responsibility.
Now in details: - thread safety has a cost over performance - most of applications use DataContext in a service call, where the service method is single-threaded. - so most of applications just don't need thread-safety. - .NET philosophy about thread safety is currently "do it if you want it", probably for the reasons I gave above. Not that thread safety isn't important, I just mean that thread-safety is out of DbLinq scope. On Thu, Apr 23, 2009 at 10:25, Giacomo Tesio <[email protected]> wrote: > @Jon: does Mono support ReaderWriterLockSlim? have you got some objection > about creating a set of static thread safe dictionaries for mappings? > > @Pascal: is QueryCache thread safe? could it be improved by using the Brian > Rudolph code? > > > > Giacomo > > > On Wed, Apr 22, 2009 at 4:31 PM, Giacomo Tesio <[email protected]> wrote: > >> ehm... I'm blind :-D >> >> Thanks a lot! >> >> >> Giacomo >> >> >> On Wed, Apr 22, 2009 at 4:04 PM, Andrus <[email protected]> wrote: >> >>> >>> http://devplanet.com/blogs/brianr/archive/2008/09/29/thread-safe-dictionary-update.aspx >>> >>> >>> ----- Original Message ----- >>> *From:* Giacomo Tesio <[email protected]> >>> *To:* [email protected] >>> *Sent:* Wednesday, April 22, 2009 4:55 PM >>> *Subject:* Re: DataMapper BUG >>> >>> ??? >>> where? >>> >>> On Wed, Apr 22, 2009 at 3:45 PM, Andrus <[email protected]> wrote: >>> >>>> There is also 3 days newer blog entry about this: >>>> >>>> // >>>> http://devplanet.com/blogs/brianr/archive/2008/09/29/thread-safe-dictionary-update.aspx >>>> >>>> Andrus. >>>> >>>> ----- Original Message ----- >>>> *From:* Giacomo Tesio <[email protected]> >>>> *To:* dblinq <[email protected]> >>>> *Sent:* Wednesday, April 22, 2009 4:00 PM >>>> *Subject:* Re: DataMapper BUG >>>> >>>> Hello world :-D >>>> >>>> Working on the lazy loading I've noticed some bugs in the DataMapper. >>>> >>>> The worse is that it re-evaluate the mapping each time, even if mappings >>>> don't change. >>>> >>>> Fix this bug mean changing the IDataMapper interface too (which is used >>>> only in the DataContext and ExpressionDispatcher ). >>>> >>>> There are two ways: >>>> - Create a set of static thread safe dictionaries for mappings [1] >>>> - Create a set of static dictionaries filled with all possible results >>>> at application startup (toward an init metod? using a static constructor? >>>> any idea?) >>>> >>>> To choose we need to evaluate Mono support, thread safety and >>>> performance. >>>> >>>> >>>> I know this is a maior refactoring but I think it could dramatically >>>> improve performances. >>>> >>>> >>>> >>>> Giacomo >>>> >>>> >>>> [1] >>>> For a thread safe dictionary look at >>>> http://devplanet.com/blogs/brianr/archive/2008/09/26/thread-safe-dictionary-in-net.aspxbut >>>> note that I've not yet any experience >>>> about multi threads on .NET so it should be evaluated) >>>> >>>> >>>> >>>> On Tue, Apr 21, 2009 at 2:13 PM, Giacomo Tesio <[email protected]>wrote: >>>> >>>>> DataMapper.GetEntityRefAssociations() and >>>>> DataMapper.GetEntityRefAssociations() depend on Attribute based mapping. >>>>> >>>>> So XmlMappingSource could not work correctly on EntityRef and EntitySet >>>>> (neither on Mono nor on Microsoft.NET). >>>>> >>>>> >>>>> >>>>> Giacomo >>>>> >>>> >>>> >>>> >>> >>> >> > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
