<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-34649829.post630458875085890606..comments</id><updated>2011-12-01T02:51:35.158-07:00</updated><category term='C#'/><category term='Reflection'/><category term='jQuery'/><category term='My Opinions'/><category term='Heroes Launch'/><category term='CRM'/><category term='WCF'/><category term='ADO .Net Entity Framework'/><category term='Business Data Catalog'/><category term='SQL Server'/><category term='SharePoint'/><category term='AJAX'/><category term='VS Live'/><category term='Virtual Conference'/><category term='Workflow'/><category term='LINQ to SQL'/><category term='Design Patterns'/><category term='WPF'/><category term='HTML5'/><category term='ASP.NET'/><category term='Silverlight'/><category term='XAML'/><category term='Windows 7'/><category term='PASS Camp'/><title type='text'>Comments on Ben H Blog - Keep it Simple, Then Refactor.: Are ADO.NET Datasets dead?</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.benhblog.com/feeds/630458875085890606/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34649829/630458875085890606/comments/default'/><link rel='alternate' type='text/html' href='http://www.benhblog.com/2008/07/are-adonet-datasets-dead.html'/><author><name>Ben H</name><uri>http://www.blogger.com/profile/02743195720761239141</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.htechinc.com/benhblog/uploaded_images/ben_mug.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-34649829.post-6492211778171381300</id><published>2008-11-21T11:18:00.000-07:00</published><updated>2008-11-21T11:18:00.000-07:00</updated><title type='text'>k2bumper - I agree that ReadXML and WriteXML are g...</title><content type='html'>k2bumper - I agree that ReadXML and WriteXML are great methods off of Datasets.  It does make it easy to serialize and pass Datasets around.  However, I believe you could serialize and pass the objects from the EF as long as both applications know the type being used in the XML.  It would take some work, but I bet you'd be surprised how easy it is.  Also, take a look at ADO.NET Data Services (Formally know as Astoria).  This gives you an easy way to pass your EF data as XML through a REST based service.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34649829/630458875085890606/comments/default/6492211778171381300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34649829/630458875085890606/comments/default/6492211778171381300'/><link rel='alternate' type='text/html' href='http://www.benhblog.com/2008/07/are-adonet-datasets-dead.html?showComment=1227291480000#c6492211778171381300' title=''/><author><name>Ben H</name><uri>http://www.blogger.com/profile/02743195720761239141</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.htechinc.com/benhblog/uploaded_images/ben_mug.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.benhblog.com/2008/07/are-adonet-datasets-dead.html' ref='tag:blogger.com,1999:blog-34649829.post-630458875085890606' source='http://www.blogger.com/feeds/34649829/posts/default/630458875085890606' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-428891639'/></entry><entry><id>tag:blogger.com,1999:blog-34649829.post-8135930098550059698</id><published>2008-11-21T07:21:00.000-07:00</published><updated>2008-11-21T07:21:00.000-07:00</updated><title type='text'>I really like your post.  I think you hit on some ...</title><content type='html'>I really like your post.  I think you hit on some great points.  One thing that seems a bit harder to do with the EF and Linq to SQL is the ease of serialization.  I long for the time when I can do .GetXML() on an EF object. That was very simple with datasets.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34649829/630458875085890606/comments/default/8135930098550059698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34649829/630458875085890606/comments/default/8135930098550059698'/><link rel='alternate' type='text/html' href='http://www.benhblog.com/2008/07/are-adonet-datasets-dead.html?showComment=1227277260000#c8135930098550059698' title=''/><author><name>k2bumper</name><uri>http://www.blogger.com/profile/01009146562146977964</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.benhblog.com/2008/07/are-adonet-datasets-dead.html' ref='tag:blogger.com,1999:blog-34649829.post-630458875085890606' source='http://www.blogger.com/feeds/34649829/posts/default/630458875085890606' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1122101856'/></entry><entry><id>tag:blogger.com,1999:blog-34649829.post-1064756744602033436</id><published>2008-08-04T21:05:00.000-07:00</published><updated>2008-08-04T21:05:00.000-07:00</updated><title type='text'>Actually, if your organization dictates that every...</title><content type='html'>Actually, if your organization dictates that everything has to go through Stored procedures, Linq to SQL is awkward to work with and much of the benefits of using Linq to SQL are gone, like DataContext automatically tracking changes and automatic optimistic concurrency.&lt;BR/&gt;&lt;BR/&gt;Comparing Linq to SQL with TableAdapter, TableAdapter is much more productive than Linq to SQL.&lt;BR/&gt;&lt;BR/&gt;1. TableAdapter and related utilities make programming against stored procedure much easier, code for sorting, paging etc are automatically generated while using Linq to SQL, you have to write a lot of code for those common tasks.&lt;BR/&gt;&lt;BR/&gt;2. It&amp;#39;s recommended that if you want to implement clean tiered solution, don&amp;#39;t return IQuery&amp;amp;ltT&amp;amp;gt, instead IEnumerable&amp;amp;ltT&amp;amp;gt, which automatically downgrade your data access from Linq to SQL to Sql to objects.&lt;BR/&gt;&lt;BR/&gt;3. Using IQuery&amp;amp;ltT&amp;amp;gt invokes translating IQuery to T-SQL, which is a performance hit.&lt;BR/&gt;&lt;BR/&gt;4. Object orientation purists sometimes kill performance. Sometimes, it&amp;#39;s better to think data as tables and rows rather than objects. Business is about data for the most part. You can express your data as objects, but in the end, the data are persisted in tables as rows. The great sin of ORM is duplicating effort to cache data. RDMS does a great job in managing most used data in memory cache by doing all sorts of amazing jobs, read-ahead, checkpoint, etc; ORM then comes in and do the same, demanding you work with their copy of data in memory. More often than not it&amp;#39;s a waste of resources and sometimes create unexpected and strange behaviors. No longer can you know where your changes are. Changes are managed by ORM now. And for most business applications, you are better to save your data to the database as soon as possible, instead leaving those changes in memory and later commit them. I often like to compare the data objects with the game character objects. They are different. When you are playing game, all those characters are really alive; they have to be ready to respond your click or key punches; I would like to call them live objects. On the other hand, data objects are mostly dead after they are retrieved from the database and presented to the user. Users work on those data through forms (fields, lists, etc).&lt;BR/&gt;&lt;BR/&gt;Users are not working on data objects directly in the way we play computer games. Once you can see the difference between data objects and game character objects, then it really doesn&amp;#39;t make sense to make your data objects alive in memory all the time and waste your time and resources to manage their life cycle. I heard a lot of horrible stories about ORM/Java, etc. And currently I am working on converting a Java/Hibernet project to .Net because the Java/Hibernet app is ridiculously slow to the point you just want to smash your computer to pieces or jump out of the window :)&lt;BR/&gt;&lt;BR/&gt;By the way, Entity Framework is built on top of ADO.NET, so ADO.NET will not go away. But I agree with you that classic ADO.NET type of programming should not be used. Best approach at this point is to use typed datasets and tableadapter.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34649829/630458875085890606/comments/default/1064756744602033436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34649829/630458875085890606/comments/default/1064756744602033436'/><link rel='alternate' type='text/html' href='http://www.benhblog.com/2008/07/are-adonet-datasets-dead.html?showComment=1217909100000#c1064756744602033436' title=''/><author><name>Jiangning Tang</name><uri>http://www.blogger.com/profile/02276441780024026669</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.benhblog.com/2008/07/are-adonet-datasets-dead.html' ref='tag:blogger.com,1999:blog-34649829.post-630458875085890606' source='http://www.blogger.com/feeds/34649829/posts/default/630458875085890606' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-952473200'/></entry><entry><id>tag:blogger.com,1999:blog-34649829.post-4716168588516154138</id><published>2008-08-04T13:05:00.000-07:00</published><updated>2008-08-04T13:05:00.000-07:00</updated><title type='text'></title><content type='html'>This comment has been removed by the author.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34649829/630458875085890606/comments/default/4716168588516154138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34649829/630458875085890606/comments/default/4716168588516154138'/><author><name>Jiangning Tang</name><uri>http://www.blogger.com/profile/02276441780024026669</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.benhblog.com/2008/07/are-adonet-datasets-dead.html' ref='tag:blogger.com,1999:blog-34649829.post-630458875085890606' source='http://www.blogger.com/feeds/34649829/posts/default/630458875085890606' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.contentRemoved' value='true'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-952473200'/></entry></feed>
