<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://code.msdn.microsoft.com/rss.xsl"?><rss version="2.0"><channel><title>ADO.NET Data Services IUpdateable implementation for Linq to Sql</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Project/ProjectRss.aspx</link><description>Implementation of ADO.NET Data Services IUpdateable interface for Linq to Sql Data Sources.        The easiest way to use this is to define a partial class for your DataContext type and provide the imp...</description><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
Sample implementation of ADO.NET Data Services IUpdateable interface for Linq to Sql Data Sources. &lt;br /&gt; &lt;br /&gt;The easiest way to use this is to define a partial class for your DataContext type and provide the implementation there. i.e. &lt;br /&gt;public partial class nwDataContext : IUpdatable &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Updated 2009-22-5:&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Visual Basic version now available&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>elisaf_MSFT</author><pubDate>Fri, 22 May 2009 19:40:09 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20090522P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Wiki/View.aspx?title=Home&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
 &lt;br /&gt;Implementation of ADO.NET Data Services IUpdateable interface for Linq to Sql Data Sources.  &lt;br /&gt;&lt;br /&gt;The easiest way to use this is to define a partial class for your DataContext type and provide the implementation there. i.e. &lt;br /&gt;&lt;br /&gt;public partial class nwDataContext &amp;#58; IUpdatable
&lt;br /&gt; &lt;br /&gt;Updated 2009-22-5:&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Visual Basic version now available&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>elisaf_MSFT</author><pubDate>Fri, 22 May 2009 19:39:11 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20090522P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
 &lt;br /&gt;Implementation of ADO.NET Data Services IUpdateable interface for Linq to Sql Data Sources.  &lt;br /&gt;&lt;br /&gt;The easiest way to use this is to define a partial class for your DataContext type and provide the implementation there. i.e. &lt;br /&gt;&lt;br /&gt;public partial class nwDataContext &amp;#58; IUpdatable
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Updated 2009-22-5:&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;(Visual Basic and C# versions available)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>elisaf_MSFT</author><pubDate>Fri, 22 May 2009 19:38:37 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20090522P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
 &lt;br /&gt;Implementation of ADO.NET Data Services IUpdateable interface for Linq to Sql Data Sources.  &lt;br /&gt;&lt;br /&gt;The easiest way to use this is to define a partial class for your DataContext type and provide the implementation there. i.e. &lt;br /&gt;&lt;br /&gt;public partial class nwDataContext &amp;#58; IUpdatable
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Updated 2009-22-5:&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;*(Visual Basic and C# versions available)&lt;br /&gt;
&lt;/div&gt;</description><author>elisaf_MSFT</author><pubDate>Fri, 22 May 2009 19:38:12 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20090522P</guid></item><item><title>UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008)</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Release/ProjectReleases.aspx?ReleaseId=1753</link><description></description><author></author><pubDate>Fri, 22 May 2009 19:36:52 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008) 20090522P</guid></item><item><title>CLOSED ISSUE: Explicitly implement IUpdateable interface</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/WorkItem/View.aspx?WorkItemId=4</link><description>by changing&amp;#58;&lt;br /&gt;   public object CreateResource&amp;#40;string containerName, string fullTypeName&amp;#41;&lt;br /&gt;&lt;br /&gt;to&amp;#58;&lt;br /&gt;   object IUpdatable.CreateResource&amp;#40;string containerName, string fullTypeName&amp;#41;&lt;br /&gt;&lt;br /&gt;then the intellisense experience for any code that&amp;#39;s using the DataContext will hide the IUpdateable methods &amp;#40;unless you perform an explicity cast&amp;#41;&lt;br /&gt;IMHO, this is a good thing from the point of view of Robert Martin&amp;#39;s &amp;#34;Interface Segregation Principle&amp;#34; &amp;#40;http&amp;#58;&amp;#47;&amp;#47;www.objectmentor.com&amp;#47;resources&amp;#47;articles&amp;#47;isp.pdf&amp;#41;&lt;br /&gt;Comments: applied &amp;#38; uploaded</description><author>robfe</author><pubDate>Wed, 18 Mar 2009 00:20:22 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Explicitly implement IUpdateable interface 20090318A</guid></item><item><title>CLOSED ISSUE: Remove reflection calls for improved perf</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/WorkItem/View.aspx?WorkItemId=3</link><description>Suggestion from Benjam&amp;#237;n Eidelman -&lt;br /&gt;&lt;br /&gt;If you had, have you tried improving it by avoiding some of the Reflection calls&amp;#63; because those they use to be expensive, and caching would be very straight-forward in this case&amp;#58;&lt;br /&gt;&lt;br /&gt;e.g. create a Dictionary&amp;#60;string,ITable&amp;#62; to cache this&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#40;ITable&amp;#41;this.GetType&amp;#40;&amp;#41;.GetProperty&amp;#40;containerName&amp;#41;.GetValue&amp;#40;this, null&amp;#41;&lt;br /&gt;&lt;br /&gt;Comments: This has been applied &amp;#38; uploaded. Reflection is no longer used for property access</description><author>robfe</author><pubDate>Wed, 18 Mar 2009 00:19:53 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Remove reflection calls for improved perf 20090318A</guid></item><item><title>UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008)</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Release/ProjectReleases.aspx?ReleaseId=1753</link><description></description><author></author><pubDate>Tue, 17 Mar 2009 23:22:40 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008) 20090317P</guid></item><item><title>COMMENTED ISSUE: Remove reflection calls for improved perf</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/WorkItem/View.aspx?WorkItemId=3</link><description>Suggestion from Benjam&amp;#237;n Eidelman -&lt;br /&gt;&lt;br /&gt;If you had, have you tried improving it by avoiding some of the Reflection calls&amp;#63; because those they use to be expensive, and caching would be very straight-forward in this case&amp;#58;&lt;br /&gt;&lt;br /&gt;e.g. create a Dictionary&amp;#60;string,ITable&amp;#62; to cache this&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#40;ITable&amp;#41;this.GetType&amp;#40;&amp;#41;.GetProperty&amp;#40;containerName&amp;#41;.GetValue&amp;#40;this, null&amp;#41;&lt;br /&gt;&lt;br /&gt;Comments: Note that such a dictionary would have to be static&amp;#10;&amp;#10;In this case, however, it&amp;#39;s probably better to call&amp;#58;&amp;#10;&amp;#10;            Type t &amp;#61; Type.GetType&amp;#40;fullTypeName, true&amp;#41;&amp;#59;&amp;#10;            ITable table &amp;#61; GetTable&amp;#40;t&amp;#41;&amp;#59;&amp;#10;&amp;#10;The Mapping object of the linq to sql datacontext contains a number of objects that will do fast property sets &amp;#47; gets&amp;#58;&amp;#10;&amp;#10;        public void SetValue&amp;#40;object targetResource, string propertyName, object propertyValue&amp;#41;&amp;#10;        &amp;#123;&amp;#10;            MetaTable table &amp;#61; Mapping.GetTable&amp;#40;targetResource.GetType&amp;#40;&amp;#41;&amp;#41;&amp;#59;&amp;#10;            MetaDataMember member &amp;#61; table.RowType.DataMembers.Single&amp;#40;x &amp;#61;&amp;#62; x.Name &amp;#61;&amp;#61; propertyName&amp;#41;&amp;#59;&amp;#10;            member.MemberAccessor.SetBoxedValue&amp;#40;ref targetResource, propertyValue&amp;#41;&amp;#59;&amp;#10;        &amp;#125;&amp;#10;</description><author>robfe</author><pubDate>Mon, 09 Feb 2009 22:15:27 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Remove reflection calls for improved perf 20090209P</guid></item><item><title>CREATED ISSUE: Explicitly implement IUpdateable interface</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/WorkItem/View.aspx?WorkItemId=4</link><description>by changing&amp;#58;&lt;br /&gt;   public object CreateResource&amp;#40;string containerName, string fullTypeName&amp;#41;&lt;br /&gt;&lt;br /&gt;to&amp;#58;&lt;br /&gt;   object IUpdatable.CreateResource&amp;#40;string containerName, string fullTypeName&amp;#41;&lt;br /&gt;&lt;br /&gt;then the intellisense experience for any code that&amp;#39;s using the DataContext will hide the IUpdateable methods &amp;#40;unless you perform an explicity cast&amp;#41;&lt;br /&gt;IMHO, this is a good thing from the point of view of Robert Martin&amp;#39;s &amp;#34;Interface Segregation Principle&amp;#34; &amp;#40;http&amp;#58;&amp;#47;&amp;#47;www.objectmentor.com&amp;#47;resources&amp;#47;articles&amp;#47;isp.pdf&amp;#41;&lt;br /&gt;</description><author>robfe</author><pubDate>Mon, 09 Feb 2009 22:10:16 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Explicitly implement IUpdateable interface 20090209P</guid></item><item><title>UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008)</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Release/ProjectReleases.aspx?ReleaseId=1753</link><description></description><author></author><pubDate>Sat, 13 Dec 2008 00:18:12 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008) 20081213A</guid></item><item><title>UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008)</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Release/ProjectReleases.aspx?ReleaseId=1753</link><description></description><author></author><pubDate>Sat, 13 Dec 2008 00:16:48 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008) 20081213A</guid></item><item><title>UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008)</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Release/ProjectReleases.aspx?ReleaseId=1753</link><description></description><author></author><pubDate>Sat, 13 Dec 2008 00:16:02 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008) 20081213A</guid></item><item><title>COMMENTED ISSUE: Need to implement ClearChanges</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/WorkItem/View.aspx?WorkItemId=2</link><description>Can&amp;#39;t figure out how to easily do this with Linq to Sql.&lt;br /&gt;Comments: Here is how I am doing it in the VB version...&amp;#13;&amp;#10;&amp;#13;&amp;#10;Public Sub ClearChanges&amp;#40;&amp;#41; Implements System.Data.Services.IUpdatable.ClearChanges&amp;#13;&amp;#10;&amp;#9;Dim mi &amp;#61; Me.GetType&amp;#40;&amp;#41;.GetMethod&amp;#40;&amp;#34;ClearCache&amp;#34;, BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.InvokeMethod&amp;#41;&amp;#13;&amp;#10;&amp;#9;Debug.Assert&amp;#40;mi IsNot Nothing&amp;#41;&amp;#13;&amp;#10;&amp;#9;mi.Invoke&amp;#40;Me, Nothing&amp;#41;&amp;#13;&amp;#10;End Sub&amp;#13;&amp;#10;&amp;#13;&amp;#10;This does invoke an internal method, but appears to be the only way to do this.</description><author>SteelePrice</author><pubDate>Fri, 12 Dec 2008 21:06:38 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Need to implement ClearChanges 20081212P</guid></item><item><title>CREATED ISSUE: Remove reflection calls for improved perf</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/WorkItem/View.aspx?WorkItemId=3</link><description>Suggestion from Benjam&amp;#237;n Eidelman -&lt;br /&gt;&lt;br /&gt;If you had, have you tried improving it by avoiding some of the Reflection calls&amp;#63; because those they use to be expensive, and caching would be very straight-forward in this case&amp;#58;&lt;br /&gt;&lt;br /&gt;e.g. create a Dictionary&amp;#60;string,ITable&amp;#62; to cache this&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#40;ITable&amp;#41;this.GetType&amp;#40;&amp;#41;.GetProperty&amp;#40;containerName&amp;#41;.GetValue&amp;#40;this, null&amp;#41;&lt;br /&gt;&lt;br /&gt;</description><author>AndrewConrad</author><pubDate>Fri, 12 Dec 2008 04:22:23 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Remove reflection calls for improved perf 20081212A</guid></item><item><title>CLOSED ISSUE: Reset Resource not working correctly</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/WorkItem/View.aspx?WorkItemId=1</link><description>Reset resource currently creates a new entity and correctly sets the default values &amp;#40;other then key values&amp;#41; however this entity is not attached to the context, therefore changes never go through&lt;br /&gt;Comments: Fixed on 12&amp;#47;11&amp;#47;08.&amp;#13;&amp;#10;&amp;#13;&amp;#10;New version uploaded.</description><author>AndrewConrad</author><pubDate>Fri, 12 Dec 2008 03:19:15 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Reset Resource not working correctly 20081212A</guid></item><item><title>UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008)</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Release/ProjectReleases.aspx?ReleaseId=1753</link><description></description><author></author><pubDate>Fri, 12 Dec 2008 03:18:22 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008) 20081212A</guid></item><item><title>CREATED ISSUE: Need to implement ClearChanges</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/WorkItem/View.aspx?WorkItemId=2</link><description>Can&amp;#39;t figure out how to easily do this with Linq to Sql.&lt;br /&gt;</description><author>AndrewConrad</author><pubDate>Thu, 11 Dec 2008 05:02:14 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Need to implement ClearChanges 20081211A</guid></item><item><title>CREATED ISSUE: Reset Resource not working correctly</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/WorkItem/View.aspx?WorkItemId=1</link><description>Reset resource currently creates a new entity and correctly sets the default values &amp;#40;other then key values&amp;#41; however this entity is not attached to the context, therefore changes never go through&lt;br /&gt;</description><author>AndrewConrad</author><pubDate>Thu, 11 Dec 2008 04:43:49 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Reset Resource not working correctly 20081211A</guid></item><item><title>UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008)</title><link>http://code.msdn.microsoft.com/IUpdateableLinqToSql/Release/ProjectReleases.aspx?ReleaseId=1753</link><description></description><author></author><pubDate>Wed, 03 Dec 2008 04:23:21 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: IUpdateable implementation (Nov 06, 2008) 20081203A</guid></item></channel></rss>