[Mono-dev] MS kills Linq to SQL ! --- Linq, Nhibernate or subsonic ?

Atsushi Eno atsushi at ximian.com
Fri Oct 31 19:35:20 EDT 2008


It had been observed as obvious by not a few people. I am glad to see
such a direction by MS team. To my eyes it is not *killed* but will
be just discontinued.

I would expect everyone who complains about MS decision to switch to
DBLinq and contribute to the project, to be regarded not as *just* a 
complainer but as a constructive hacker with belief.

Atsushi Eno


Onur Gumus wrote:
> http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx
> 
> 
> On Tue, Jul 1, 2008 at 12:32 PM, Onur Gumus <emperon at gmail.com> wrote:
>> Because NHiberate is hard. I mean really hard. If you want something
>> "install and go" try castle active record
>>
>> On Tue, Jul 1, 2008 at 11:08 AM, Sharique uddin Ahmed Farooqui
>> <safknw at gmail.com> wrote:
>>> Hi,
>>> My experience with NHibernate is not quite good. I spend a week but
>>> did not get it working. with subsonic I started working couple of
>>> hours.
>>> Why we should implement linq to sql. If we don't have it than a lot of
>>> applications won't be able to run on mono.
>>>
>>> On Sun, Jun 29, 2008 at 5:21 AM, Onur Gumus <emperon at gmail.com> wrote:
>>>> yes I did try linq to sql. As a matter of fact at the very beggining
>>>> of this conversation, I did told those reflect my opinions only and I
>>>> did not want to start a flamewar. Yet I see you are offended. I
>>>> certainly understand your pain since it appears to be you love linq to
>>>> sql and may be waiting for it's implementation on mono and some guy
>>>> just came up and saying hey no need for linq to sql , we' got
>>>> nhibernate.
>>>>
>>>> Frankly side by side technical comparison I still consider nhibernate
>>>> superior. For the following reasons:
>>>>
>>>> NHibenate works with almost every database and you can  develop true
>>>> database independent applications. For instance when you finish your
>>>> product's coding you can deliver it for different databases. Same
>>>> cannot be applied to linq to sql which only works for sql server. Sure
>>>> there are implementations for postgress as well but you stick to one
>>>> database and cannot further modify it.
>>>>
>>>> traditionally nhibernate uses criteria and hql based queries which
>>>> look weird compared to linq's static typing power. But then now we
>>>> have linq to nhibernate functional and running.
>>>>
>>>> Furthermore you are incorrect about xml  because nhibernate supports
>>>> Attribute based mapping and another option is Castle ActiveRecord.
>>>> Where you can do the mapping with 0 XML. That's what I do.
>>>>
>>>> linq to sql is more data centric approach. You first create your
>>>> database and from there you generate your classes via sql metal. And
>>>> the generated code is messy. NHibernate uses domain driven approach
>>>> which is better for larger scale applications. Namely you totally
>>>> ignore the existence of your database and just write you classes
>>>> (including interfaces and your inheritence tree). Then you make your
>>>> mapping finally you tell nhibernate create the tables for you. It is
>>>> much more powerful than what linq to sql is capable of. Also linq to
>>>> sql can only have 1 type of mapping for inheritence where as
>>>> nhibernate supports 3 types . see how inheritence is applied to both.
>>>> And I don't think linq to sql supports persistance for your
>>>> "interfaces"
>>>>
>>>> For databinding to gui I use my modified object data source which is
>>>> just good. But there are other solutions like
>>>> http://www.codeproject.com/KB/aspnet/NHibernateDataSource.aspx  for
>>>> web applications .
>>>>
>>>> that's just my 2 cents
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Sat, Jun 28, 2008 at 10:59 PM, Sharique uddin Ahmed Farooqui
>>>> <safknw at gmail.com> wrote:
>>>>> Thanks nicole.
>>>>> I'm using sunsonic. It is quite easy to learn and it works with .net
>>>>> 2.0 and mono as well.
>>>>> I'll suggest Subsonic other as well.
>>>>>
>>>>> On Mon, Jun 23, 2008 at 8:01 PM, nicolasdiazaragon
>>>>> <nico.diaz.aragon at gmail.com> wrote:
>>>>>> What do you mean by saying that not yet having linq to sql isn´t a big loss
>>>>>> and that it can be replaced by using nhibernate?
>>>>>> Have you tried linq to sql? have you compared it to using hibernate?
>>>>>> Maybe if all you code is meant to be part of some desktop application, then
>>>>>> you are fine with hibernate. But if you intend to build real enterprise
>>>>>> applications, then you should use linq to sql. Not only does it make code
>>>>>> more simple and easy to read, it gets things done faster than hibernate does
>>>>>> and you don't have to bother writing boring XML files. And it let´s you use
>>>>>> nameless class types while querying the data base. These nameless classes
>>>>>> can then be bound to a GUI control or used for further processing. Try doing
>>>>>> that with hibernate... you would have to perform very expensive castings
>>>>>> (all your query results are strongly typed in linq to sql, but not in
>>>>>> hibernate... everything returned by a hibernate query is just an
>>>>>> 'object'...) and there is absolutely no WAY to use nameless types while
>>>>>> querying the database with hibernate.
>>>>>> I've been writing java code since I was a 14 year old. I begun coding JEE at
>>>>>> the same time I became acquainted with the dot net framework. By the time
>>>>>> linq to sql was released (a couple of years later) I was very dissapointed
>>>>>> because I realized that the dot net framework had leaped light years ahead
>>>>>> of java (my personal favorite until then).
>>>>>> So no linq to sql support is a huge loss to me. If I were to code some
>>>>>> enterprise application without linq to sql support, I´d rather work on JEE
>>>>>> than on dot net.
>>>>>>
>>>>>>
>>>>>> reverse blade wrote:
>>>>>>> Before comparing the technical merits you should consider that "Linq to
>>>>>>> SQL"
>>>>>>> is not supported by mono at the moment.(Which is not a big loss for me
>>>>>>> anyway). Linq is the general name given to linq bindings and currently we
>>>>>>> have : Linq to Objects, Linq to Sql, Linq to XML, Linq to JSON, Linq to
>>>>>>> NHibernate, Linq to DB4O, etc ... bindings  are available if I recall
>>>>>>> correctly.
>>>>>>>
>>>>>>> For subsonic and NHibernate , I never used subsonic on mono but I've read
>>>>>>> it
>>>>>>> was working on mono. On the other hand, I used NHibernate extensively on
>>>>>>> mono/linux/postgresql and I am quite happy with it.
>>>>>>>
>>>>>>> Finally, Nhibernate does support stored procs but triggers and views are
>>>>>>> not
>>>>>>> supported by any of these frameworks directly. NHibernate offers
>>>>>>> interceptors for intercepting your db transactions before it hits to db's
>>>>>>> so
>>>>>>> in a way it emulates triggers that way. Still however you can use triggers
>>>>>>> independently. Not sure how others handle it. Finally it took 1 full month
>>>>>>> for me to feel myself comfortable with NHibernate due to it's high
>>>>>>> complexity (or may be I am not smart enough), but it was well worth.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> just my 2 cents
>>>>>>>
>>>>>>> Onur
>>>>>>>
>>>>>>> 2008/2/24 Sharique uddin Ahmed Farooqui <safknw at gmail.com>:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'm planning to build an ERP for my organisation. We will use mono as
>>>>>>>> primary development platform. I'm a bit confused abt what should for DAL.
>>>>>>>> I
>>>>>>>> know little abt linq .
>>>>>>>> What I have decided for DAL is
>>>>>>>> 1. auto generated code must be extend able either in same class or as a
>>>>>>>> separate class.
>>>>>>>> 2. It must expose all databse views, triggers, stored procedures in DAL.
>>>>>>>>
>>>>>>>>
>>>>>>>> Pls help me find out the right thing.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>> --
>>>>>>>> Sharique uddin Ahmed Farooqui
>>>>>>>> (C++/C# Developer, IT Consultant)
>>>>>>>> A revolution is about to begin.
>>>>>>>> A world is about to change.
>>>>>>>> And you and I are "the initiator".
>>>>>>>> _______________________________________________
>>>>>>>> Mono-devel-list mailing list
>>>>>>>> Mono-devel-list at lists.ximian.com
>>>>>>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>>>>>>
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Mono-devel-list mailing list
>>>>>>> Mono-devel-list at lists.ximian.com
>>>>>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>>>>>
>>>>>>>
>>>>>> --
>>>>>> View this message in context: http://www.nabble.com/Linq%2C-Nhibernate-or-subsonic---tp16138540p18070501.html
>>>>>> Sent from the Mono - Dev mailing list archive at Nabble.com.
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mono-devel-list mailing list
>>>>>> Mono-devel-list at lists.ximian.com
>>>>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sharique uddin Ahmed Farooqui
>>>>> (C++/C# Developer, IT Consultant)
>>>>> http://safknw.blogspot.com/
>>>>> "Peace" is the Ultimate thing we want.
>>>>> _______________________________________________
>>>>> Mono-devel-list mailing list
>>>>> Mono-devel-list at lists.ximian.com
>>>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>>>
>>>
>>>
>>> --
>>> Sharique uddin Ahmed Farooqui
>>> (C++/C# Developer, IT Consultant)
>>> http://safknw.blogspot.com/
>>> "Peace" is the Ultimate thing we want.
>>>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 



More information about the Mono-devel-list mailing list