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

Onur Gumus emperon at gmail.com
Fri Oct 31 08:53:03 EDT 2008


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.

More information about the Mono-devel-list mailing list