I am just starting out on my personal project with Mono &amp; Postgres. Your input &amp; views have been invaluable. Thanks a ton.<br>I&#39;m also adding mono-list to the loop, so that they can consider adding support for these frameworks.<br>
<br>I am currently familiar with just <a href="http://ADO.NET">ADO.NET</a>, and I think the best option for me is to use Castle.ActiveRecord with nHibernate. Comments/opinions welcome.<br>During my research, this is what I had chanced upon: <a href="http://www.howtoselectguides.com/dotnet/ormapping/">http://www.howtoselectguides.com/dotnet/ormapping/</a><br>
I found this post interesting: <a href="http://tanveerbadar.wordpress.com/2007/10/14/linqentity-framework-vs-nhibernate/">http://tanveerbadar.wordpress.com/2007/10/14/linqentity-framework-vs-nhibernate/</a>&nbsp; but think it is outdated, since nHibernate has a LINQ subproject.<br>
<br>Thanks again<br><br><br><div><span class="gmail_quote">On 2/24/08, <b class="gmail_sendername">Onur Gumus</b> &lt;<a href="mailto:emperon@gmail.com">emperon@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
For a few things. As a rule of thumb I believe if a framework genereates C# code, then it starts to smell. For typed datasets the situation got much worse since you can&#39;t even modify the generated source code.<br><br>
The second drawback when your database schema changes typed datasets start to become unmaintable and unrecoverable breaks occur. Since typed datasets generated dircectly by current database schmea any changes to your database should be reflected to your typed datasets. That means regenerating all the code. Which in turn breaks your code that interacts with database layer. I really have had hard time.<br>

<br>The thing is the above is also valid for linq to sql. Linq to sql brings a very nice natural syntax for querying database however&nbsp; to use linq to sql you also need to generated (messy) code via sql metal. <br><br><br>

Ironically Subsonic goes the same code generation way how ever , it enables you to modify the code being generated. So although it is not my top choice , subsonic seems to me a better option<br><br>My top choice would be NHibernate for large projects and Castle Active Recrod for small to medium projects. Castle Active Record is in deed built on top of NHibernate which abstracts NHibernate in a way that we can use Martin Fowler&#39;s Active Record pattern (very similar to ruby on rails). The difference is Castle Active Record is very easy to learn and setup where as NHibernate has a really steep learning curve (due to its enormous power. I mean&nbsp; it!!! It is powerful)<br>

<br><br>The difference between NHibernate derived frameworks and subsonic linq and dataset is on how you approach the problems. With NHibernate you go fully&nbsp; domain driven approach. First design your domain objects , classes via UML while completely ignoring the existance of your database. ( And I mean it !!! you should really forget about it ). Build your classes, abstract classes and inheritence trees, associations and so on and , let NHibernate do the dirty job for you , thus it will create all the tables and associations (including your persistent subclasses and interfaces). For linq we also have an experimental Linq to NHibernate binding which is a plus<br>

<br><br><a href="http://ADO.NET" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ADO.NET</a> Entity framework is following the same approach IIRC<br><br>However on some projects the above cannot be applied since you already have a database structure and you have to build your application on top of it. In those cases, NHibernate performs very well due to its high confugrability. However for those &quot;data driven&quot; applications , subsonic or linq to sql might suit better since they are coming from data to domain unlike nhibernate.<br>

<br><br>These topics are highly being debated, and those above just reflects my opinons based on my personal experience. So I am not after starting a flamewar if you disagree. Use to the tool that you are happy with.<br>
<br>
Happy coding :)<br><span class="sg"><br>Onur</span><div><span class="e" id="q_1184adbcfbd3e755_2"><br><br><br><br><br><div class="gmail_quote">On Sat, Feb 23, 2008 at 10:42 PM, Swaminathan Saikumar &lt;<a href="mailto:swami@giveexam.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">swami@giveexam.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello, thanks for the awesome suggestions. I wasn&#39;t even aware of the other frameworks.<br>I&#39;m just curious; why did you think Typed Datasets are bad?<div><div></div><div><br><br><div><span class="gmail_quote">On 2/23/08, <b class="gmail_sendername">Onur Gumus</b> &lt;<a href="mailto:emperon@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">emperon@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


<br>Hello, I am not sure if typed datasets are supported directly by mono. But actually Typed datasets are visual studio generated code.<br><br>Furthermore, I have quite an experience on Typed Datasets, and my conclusion is they are badly designed and does more harm than good( They are also mostly ignored in .NET 3.0+ that no one mentiones them any more).<br>



<br>Alternatively you may want to check out&nbsp; the following frameworks which offer much better solutions than typed datasets:<br><br>Subsonic, NHibernate, Castle Active Record, Linq to sql (Linq to sql does not work with mono at the moment)<br>



<br>Regards<br><br>Onur<br><br><br><div class="gmail_quote"><div><span>On Sat, Feb 23, 2008 at 4:25 PM, Sharique uddin Ahmed Farooqui &lt;<a href="mailto:safknw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">safknw@gmail.com</a>&gt; wrote:<br>


</span></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><span>
Hi,<br><br>I have created a web application using VS 2005 express. I used typed dataset in application.&nbsp; It works well. Now I created a web application in Monodevelop. I imported every file from VS project folder. When I compile this MD application, it doesn&#39;t compile typed dataset.<br>




<br>How I can resolve this? <br clear="all">Is typed dataset is not supported in mono? <br><font color="#888888">-- <br>Sharique uddin Ahmed Farooqui<br>(C++/C# Developer, IT Consultant)<br>A revolution is about to begin.<br>



A world is about to change.<br>
And you and I are &quot;the initiator&quot;.
</font><br></span></div></blockquote></div></blockquote></div><br>
</div></div></blockquote></div><br>
</span></div></blockquote></div><br>