{"id":668,"date":"2008-06-10T08:09:55","date_gmt":"2008-06-10T07:09:55","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/?p=668"},"modified":"2008-06-10T08:09:55","modified_gmt":"2008-06-10T07:09:55","slug":"bet-on-adonet-data-services-not-linq-to-sql","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/668-bet-on-adonet-data-services-not-linq-to-sql.html","title":{"rendered":"Bet on Entity Framework, not LINQ to SQL"},"content":{"rendered":"<p>So says Roger Jennings in his post <a href=\"http:\/\/oakleafblog.blogspot.com\/2008\/05\/is-adonet-team-abandoning-linq-to-sql.html\" target=\"_blank\">Is the ADO.NET team abandoning LINQ to SQL<\/a>? His main points in favour of <span style=\"text-decoration: line-through\">ADO.NET Data Services (formerly Astoria<\/span><strike>)<\/strike> Entity Framework:<\/p>\n<ul>\n<li>It is the focus of more energetic development <\/li>\n<li>It already has richer features <\/li>\n<li>It supports multiple database engines, not just SQL Server <\/li>\n<\/ul>\n<p>As Andres Aguiar, software architect at <a href=\"http:\/\/www.infragistics.com\" target=\"_blank\">Infragistics<\/a>, notes in a comment, this has a lot to do with internal politics at Microsoft:<\/p>\n<blockquote>\n<p>The Data Programmability Team never owned LinQ to SQL, it was owned by the C# team. That&#8217;s why we have two O\/R mappers, both teams wanted to ship theirs. The C# team looks to be thinking about functional programming now. The Data Programmability will always be thinking about data. That&#8217;s why the EF [Entity Framework] is the safe choice.<\/p>\n<\/blockquote>\n<p>Although LINQ to SQL is now (apparently) owned by the SQL Server team, it still doesn\u2019t seem plausible or sensible that both will get equal attention. We also <a href=\"http:\/\/blogs.msdn.com\/mattwar\/archive\/2008\/05\/04\/mocks-nix-an-extensible-linq-to-sql-datacontext.aspx\" target=\"_blank\">learn from Matt Warren<\/a> that LINQ to SQL was deliberately tied to SQL Server only:<\/p>\n<blockquote>\n<p>LINQ to SQL was actually designed to be host to more types of back-ends than just SQL server. It had a provider model targeted for RTM, but was disabled before the release. Don\u2019t ask me why. Be satisfied to know that is was not a technical reason.<\/p>\n<\/blockquote>\n<p>Note that this wasn\u2019t necessarily a plot in favour of SQL Server world dominance; keeping the entire stack as a Microsoft stack no doubt makes support easier. That said, to me this is the big weakness of LINQ to SQL.<\/p>\n<p>I was <a href=\"http:\/\/www.itwriting.com\/blog\/?p=393\" target=\"_blank\">impressed by Astoria<\/a> when I first saw it at the European Tech Ed in 2007. I am not surprised it is gaining ground.<\/p>\n<div class=\"wlWriterSmartContent\" id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6e9e6c47-833c-4d97-8169-8edf58c6eb6e\" style=\"padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px\">Technorati tags: <a href=\"http:\/\/technorati.com\/tags\/astoria\" rel=\"tag\">astoria<\/a>, <a href=\"http:\/\/technorati.com\/tags\/linq+to+sql\" rel=\"tag\">linq to sql<\/a>, <a href=\"http:\/\/technorati.com\/tags\/ado.net+data+services\" rel=\"tag\">ado.net data services<\/a>, <a href=\"http:\/\/technorati.com\/tags\/.net\" rel=\"tag\">.net<\/a>, <a href=\"http:\/\/technorati.com\/tags\/microsoft\" rel=\"tag\">microsoft<\/a>, <a href=\"http:\/\/technorati.com\/tags\/sql+server\" rel=\"tag\">sql server<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>So says Roger Jennings in his post Is the ADO.NET team abandoning LINQ to SQL? His main points in favour of ADO.NET Data Services (formerly Astoria) Entity Framework: It is the focus of more energetic development It already has richer features It supports multiple database engines, not just SQL Server As Andres Aguiar, software architect &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/668-bet-on-adonet-data-services-not-linq-to-sql.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Bet on Entity Framework, not LINQ to SQL<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,55,96],"tags":[],"class_list":["post-668","post","type-post","status-publish","format-standard","hentry","category-database","category-microsoft","category-web-authoring"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=668"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/668\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}