<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>CRUD using Silverlight 2 Beta1, WCF and LINQ to SQL Part2</title><link>http://blogs.msdn.com/swiss_dpe_team/archive/2008/04/11/crud-using-silverlight-2-beta1-wcf-and-linq-to-sql-part2.aspx</link><description>In this 15 minutes video blog I will explain the magic (or not so magic J ) that I’m doing in the LinqHelper client and server classes for enabling client side change tracking with LINQ to SQL. If you didn’t watch the first part I encourage you to watch</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Swiss MSDN Team Blog : CRUD operations with Optimistic Locking using Silverlight 2 Beta1, WCF and LINQ to SQL (inserts, updates and deletes)</title><link>http://blogs.msdn.com/swiss_dpe_team/archive/2008/04/11/crud-using-silverlight-2-beta1-wcf-and-linq-to-sql-part2.aspx#8379622</link><pubDate>Fri, 11 Apr 2008 14:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8379622</guid><dc:creator>Swiss MSDN Team Blog : CRUD operations with Optimistic Locking using Silverlight 2 Beta1, WCF and LINQ to SQL (inserts, updates and deletes)</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/swiss_dpe_team/archive/2008/04/04/crud-operations-with-optimistic-locking-using-silverlight-2-beta1-wcf-and-linq-to-sql-inserts-updates-and-deletes.aspx"&gt;http://blogs.msdn.com/swiss_dpe_team/archive/2008/04/04/crud-operations-with-optimistic-locking-using-silverlight-2-beta1-wcf-and-linq-to-sql-inserts-updates-and-deletes.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: CRUD using Silverlight 2 Beta1, WCF and LINQ to SQL Part2</title><link>http://blogs.msdn.com/swiss_dpe_team/archive/2008/04/11/crud-using-silverlight-2-beta1-wcf-and-linq-to-sql-part2.aspx#8390518</link><pubDate>Mon, 14 Apr 2008 08:13:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8390518</guid><dc:creator>ernow</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I really like the ideas presented here (although I'd encapsulate them more in a DataSet kind of class)&lt;/p&gt;
&lt;p&gt;One thing I do not understand is why you use a shallow copy. Shouldn't it be a deep copy? Or am I not understanding how this works?&lt;/p&gt;
&lt;p&gt;Erno&lt;/p&gt;
</description></item><item><title>re: CRUD using Silverlight 2 Beta1, WCF and LINQ to SQL Part2</title><link>http://blogs.msdn.com/swiss_dpe_team/archive/2008/04/11/crud-using-silverlight-2-beta1-wcf-and-linq-to-sql-part2.aspx#8391450</link><pubDate>Mon, 14 Apr 2008 12:20:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8391450</guid><dc:creator>ronnies</dc:creator><description>&lt;p&gt;Hi Erno,&lt;/p&gt;
&lt;p&gt;Thanks for the comment.&lt;/p&gt;
&lt;p&gt;At first I have thought also about doing an encapsulation class a la DataSet. But I also wanted to make the WCF contract strict and not something like a DataSet that can contain any arbitrary number of tables that you can’t figure out when looking at the contract. I also wanted to keep the plain Objects that LINQ to SQL generates. It is a philosophy discussion both are valid option with both pro and cons. &lt;/p&gt;
&lt;p&gt;Regarding the deep vs. shallow in my example is a deep copy of the List collection (table) but a shallow copy of the Customer object (rows). So if Customer object has an Order collection I’m not doing any deep copy of the Order collection. It was a choice to keep things simple and to avoid having nested collection. Design was to have separated entities like DataTables in DataSet to avoid complex looping code server side and Eager loading challenges on the reads. So the right name should be a DeepShallowCopy:-)&lt;/p&gt;
&lt;p&gt;ronnie&lt;/p&gt;
</description></item><item><title>re: CRUD using Silverlight 2 Beta1, WCF and LINQ to SQL Part2</title><link>http://blogs.msdn.com/swiss_dpe_team/archive/2008/04/11/crud-using-silverlight-2-beta1-wcf-and-linq-to-sql-part2.aspx#8397048</link><pubDate>Tue, 15 Apr 2008 11:52:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8397048</guid><dc:creator>ernow</dc:creator><description>&lt;p&gt;Thanks Ron for clarifying.&lt;/p&gt;
&lt;p&gt;I agree on the keeping the WCF contract strict. All I would do is tidy up the client and server code. There is too much knowledge in the methods about the way concurrency is handled. So I would encapsulate in a DataSet class but on the wire it would look the same. &lt;/p&gt;
&lt;p&gt;I understand your Deep vs. Shallow explanation but in a way it breaks the principle to have plain objects (or rather an object model) so you're back to a DataSet structure while you wanted to avoid that.&lt;/p&gt;
&lt;p&gt;To make it clean you could consider all plain objects to have a way of keeping their original state. &lt;/p&gt;
</description></item><item><title>New Posts Coming Soon...</title><link>http://blogs.msdn.com/swiss_dpe_team/archive/2008/04/11/crud-using-silverlight-2-beta1-wcf-and-linq-to-sql-part2.aspx#8570544</link><pubDate>Tue, 03 Jun 2008 02:08:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8570544</guid><dc:creator>Scott Morrison</dc:creator><description>&lt;p&gt;You might have noticed that posts have dropped off over the last month or so.&amp;amp;#160; The reason being&lt;/p&gt;
</description></item></channel></rss>