<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: LINQ to SQL In Disconnected/N-Tier scenarios: Saving an Object</title>
	<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/</link>
	<description>Works on my machine</description>
	<pubDate>Sun, 07 Sep 2008 16:49:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1</generator>

	<item>
		<title>By: Steve Horn</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2837</link>
		<author>Steve Horn</author>
		<pubDate>Mon, 11 Feb 2008 03:41:51 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2837</guid>
					<description>How does the linq to sql classes know that the 'Timestamp' column is special?  What if I wanted to name that column differently? 

Good post.  Looking forward to hearing more about linq to sql in the future.</description>
		<content:encoded><![CDATA[<p>How does the linq to sql classes know that the &#8216;Timestamp&#8217; column is special?  What if I wanted to name that column differently? </p>
<p>Good post.  Looking forward to hearing more about linq to sql in the future.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jon Kruger</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2838</link>
		<author>Jon Kruger</author>
		<pubDate>Mon, 11 Feb 2008 11:17:54 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2838</guid>
					<description>Steve -

When you're in the LINQ to SQL designer and you select a property in an object, one of the options in the Properties window is "Time Stamp" (true/false).  If you drag a table onto the designer and the column is of type timestamp, it will set this flag automatically for you.

You can name the column whatever you want, that has no bearing on anything.</description>
		<content:encoded><![CDATA[<p>Steve -</p>
<p>When you&#8217;re in the LINQ to SQL designer and you select a property in an object, one of the options in the Properties window is &#8220;Time Stamp&#8221; (true/false).  If you drag a table onto the designer and the column is of type timestamp, it will set this flag automatically for you.</p>
<p>You can name the column whatever you want, that has no bearing on anything.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Benjamin Eidelman</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2842</link>
		<author>Benjamin Eidelman</author>
		<pubDate>Tue, 19 Feb 2008 01:35:20 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2842</guid>
					<description>Hi!,

i've posted about inclusing Linq-to-Sql in N-Tier Applications,
and found interesting the way you described the problem

here is my article about it:
http://blog.pampanotes.com/2008/02/first-thoughts-on-designing-linq.html</description>
		<content:encoded><![CDATA[<p>Hi!,</p>
<p>i&#8217;ve posted about inclusing Linq-to-Sql in N-Tier Applications,<br />
and found interesting the way you described the problem</p>
<p>here is my article about it:<br />
<a href="http://blog.pampanotes.com/2008/02/first-thoughts-on-designing-linq.html" rel="nofollow">http://blog.pampanotes.com/2008/02/first-thoughts-on-designing-linq.html</a></p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Weekly crumbs #7 - Service Endpoint</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2843</link>
		<author>Weekly crumbs #7 - Service Endpoint</author>
		<pubDate>Tue, 19 Feb 2008 04:11:57 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2843</guid>
					<description>[...] WCF Workflow Services Context Be careful with ServiceAuthorizationManager.CheckAccess() C# generics - parameter variance, its constraints and how it affects WCF Introduction to WCF Extensibility article published at LevelExtreme Magazine [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] WCF Workflow Services Context Be careful with ServiceAuthorizationManager.CheckAccess() C# generics - parameter variance, its constraints and how it affects WCF Introduction to WCF Extensibility article published at LevelExtreme Magazine [&#8230;]</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Benjamin Eidelman</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2844</link>
		<author>Benjamin Eidelman</author>
		<pubDate>Tue, 19 Feb 2008 12:58:57 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2844</guid>
					<description>Thanks for your reply,
Currently, we're working on a solution to the disconnected-track-changing issue.
I've seen that you propose a EntityBaseClass solution by adding a state property to the entity, we've been discusing between a similar option (maybe using an interface instead of base class), and a "Portable Change Set" implementation of EntitySet

This two feature requires customization of the auto-generated code, and the good news are, that creating a custom code-generator isn't as hard as it looks.

We're working on a code generator for dbml's, and we will probably publish it (open sourced) when it's more polished. By now, If you want we can share some implementation details.

Regards,</description>
		<content:encoded><![CDATA[<p>Thanks for your reply,<br />
Currently, we&#8217;re working on a solution to the disconnected-track-changing issue.<br />
I&#8217;ve seen that you propose a EntityBaseClass solution by adding a state property to the entity, we&#8217;ve been discusing between a similar option (maybe using an interface instead of base class), and a &#8220;Portable Change Set&#8221; implementation of EntitySet</p>
<p>This two feature requires customization of the auto-generated code, and the good news are, that creating a custom code-generator isn&#8217;t as hard as it looks.</p>
<p>We&#8217;re working on a code generator for dbml&#8217;s, and we will probably publish it (open sourced) when it&#8217;s more polished. By now, If you want we can share some implementation details.</p>
<p>Regards,</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: DotNetKicks.com</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2846</link>
		<author>DotNetKicks.com</author>
		<pubDate>Mon, 25 Feb 2008 03:15:17 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2846</guid>
					<description>&lt;strong&gt; LINQ to SQL In Disconnected/N-Tier scenarios: Saving an Object...&lt;/strong&gt;

You've been kicked (a good thing) - Trackback from DotNetKicks.com...</description>
		<content:encoded><![CDATA[<p><strong> LINQ to SQL In Disconnected/N-Tier scenarios: Saving an Object&#8230;</strong></p>
<p>You&#8217;ve been kicked (a good thing) - Trackback from DotNetKicks.com&#8230;</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Sean</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2847</link>
		<author>Sean</author>
		<pubDate>Tue, 26 Feb 2008 14:38:59 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2847</guid>
					<description>Great post!  Please keep us posted on how you handle the Orders collection.  I'm already familiar with concept, so I'm curious how you handle it (I don't want to give you any ideas because I'm not confident that my technique is correct).</description>
		<content:encoded><![CDATA[<p>Great post!  Please keep us posted on how you handle the Orders collection.  I&#8217;m already familiar with concept, so I&#8217;m curious how you handle it (I don&#8217;t want to give you any ideas because I&#8217;m not confident that my technique is correct).</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: David Mc.</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2848</link>
		<author>David Mc.</author>
		<pubDate>Tue, 26 Feb 2008 15:56:37 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2848</guid>
					<description>Hi Jon,

I like this!  It works well, except in the scenario (like I got stuck in!) where the database table has INSERT/UPDATE triggers that test for certain columns being modified, and acting upon those changes.  A trivial example:

IF UPDATE (LastName)
BEGIN
     -- Do some logic based on this change
END

In the case of the UPDATE statement generated above, it always causes the LastName column to appear UPDATED.  If I could have changed this logic, I would have, but I inherited a badly-built database...</description>
		<content:encoded><![CDATA[<p>Hi Jon,</p>
<p>I like this!  It works well, except in the scenario (like I got stuck in!) where the database table has INSERT/UPDATE triggers that test for certain columns being modified, and acting upon those changes.  A trivial example:</p>
<p>IF UPDATE (LastName)<br />
BEGIN<br />
     &#8212; Do some logic based on this change<br />
END</p>
<p>In the case of the UPDATE statement generated above, it always causes the LastName column to appear UPDATED.  If I could have changed this logic, I would have, but I inherited a badly-built database&#8230;</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Rob Conery</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2849</link>
		<author>Rob Conery</author>
		<pubDate>Tue, 26 Feb 2008 18:18:14 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2849</guid>
					<description>Some other links about DataContext:
Rick Strahl tackled the Timestamp issue here:
http://www.west-wind.com/WebLog/posts/151425.aspx

And discusses lifetime management here:
http://www.west-wind.net/WebLog/posts/246222.aspx</description>
		<content:encoded><![CDATA[<p>Some other links about DataContext:<br />
Rick Strahl tackled the Timestamp issue here:<br />
<a href="http://www.west-wind.com/WebLog/posts/151425.aspx" rel="nofollow">http://www.west-wind.com/WebLog/posts/151425.aspx</a></p>
<p>And discusses lifetime management here:<br />
<a href="http://www.west-wind.net/WebLog/posts/246222.aspx" rel="nofollow">http://www.west-wind.net/WebLog/posts/246222.aspx</a></p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Chris Rock</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2850</link>
		<author>Chris Rock</author>
		<pubDate>Tue, 26 Feb 2008 19:58:42 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2850</guid>
					<description>John,

I added this post to a list of LINQ to SQL tutorials @ http://rocksthoughts.com/blog/archive/2008/02/23/linq-to-sql-tutorials-articles-and-opinions.aspx 

While I love LINQ to SQL some of the ways they implemented features in the first version are a little inefficient like you stated in your post referring to the update. 

I wrote a post about something similar here: http://rocksthoughts.com/blog/archive/2008/02/19/linq-to-sql-v-1-0-hickups.aspx</description>
		<content:encoded><![CDATA[<p>John,</p>
<p>I added this post to a list of LINQ to SQL tutorials @ <a href="http://rocksthoughts.com/blog/archive/2008/02/23/linq-to-sql-tutorials-articles-and-opinions.aspx" rel="nofollow">http://rocksthoughts.com/blog/archive/2008/02/23/linq-to-sql-tutorials-articles-and-opinions.aspx</a> </p>
<p>While I love LINQ to SQL some of the ways they implemented features in the first version are a little inefficient like you stated in your post referring to the update. </p>
<p>I wrote a post about something similar here: <a href="http://rocksthoughts.com/blog/archive/2008/02/19/linq-to-sql-v-1-0-hickups.aspx" rel="nofollow">http://rocksthoughts.com/blog/archive/2008/02/19/linq-to-sql-v-1-0-hickups.aspx</a></p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Benjamin Eidelman</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2866</link>
		<author>Benjamin Eidelman</author>
		<pubDate>Wed, 12 Mar 2008 22:44:07 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2866</guid>
					<description>John,

As promised, we published a custom code generator tool, that allows you to keep the O/R Designer GUI, but replace the code generation to allow truly POCOs, a disconnected N-tier change tracking (or even your own custom code generation), we published under GPL here:
http://www.codeplex.com/ULinqGen

And I published some details about our implementation of disconnected change tracking in this post:
http://pampanotes.tercerplaneta.com/2008/03/implementing-n-tier-change-tracking.html

It would be really interesting sharing some comments on this.

Regards,</description>
		<content:encoded><![CDATA[<p>John,</p>
<p>As promised, we published a custom code generator tool, that allows you to keep the O/R Designer GUI, but replace the code generation to allow truly POCOs, a disconnected N-tier change tracking (or even your own custom code generation), we published under GPL here:<br />
<a href="http://www.codeplex.com/ULinqGen" rel="nofollow">http://www.codeplex.com/ULinqGen</a></p>
<p>And I published some details about our implementation of disconnected change tracking in this post:<br />
<a href="http://pampanotes.tercerplaneta.com/2008/03/implementing-n-tier-change-tracking.html" rel="nofollow">http://pampanotes.tercerplaneta.com/2008/03/implementing-n-tier-change-tracking.html</a></p>
<p>It would be really interesting sharing some comments on this.</p>
<p>Regards,</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Marius Puscas</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2870</link>
		<author>Marius Puscas</author>
		<pubDate>Fri, 28 Mar 2008 09:51:54 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2870</guid>
					<description>Hi,

I've tried the steps you described here to save a disconnected LinqToSql entity, but when I try to attach the disconnected entity to a new DataContext instance I get the following exception:

An attempt has been made to Attach or Add an entity that is not new, perhaps having been loaded from another DataContext.  This is not supported.

Here's the code I've used to do this:

LinqTestDataContext dc2 = new LinqTestDataContext();

dc2.Companies.Attach(company, true);

dc2.SubmitChanges();

Note that I've loaded the company entity using a different datacontext instance and I've also added a TimeStamp field on it.

Regards</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I&#8217;ve tried the steps you described here to save a disconnected LinqToSql entity, but when I try to attach the disconnected entity to a new DataContext instance I get the following exception:</p>
<p>An attempt has been made to Attach or Add an entity that is not new, perhaps having been loaded from another DataContext.  This is not supported.</p>
<p>Here&#8217;s the code I&#8217;ve used to do this:</p>
<p>LinqTestDataContext dc2 = new LinqTestDataContext();</p>
<p>dc2.Companies.Attach(company, true);</p>
<p>dc2.SubmitChanges();</p>
<p>Note that I&#8217;ve loaded the company entity using a different datacontext instance and I&#8217;ve also added a TimeStamp field on it.</p>
<p>Regards</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Ish Singh</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2874</link>
		<author>Ish Singh</author>
		<pubDate>Sat, 12 Apr 2008 04:09:37 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2874</guid>
					<description>Hi Jon,

Interesting post about Linq to SQL.  I thought I'll let you know about my product that actually can work in a disconnected environment and also allows you to do inserts/updates including complete control over what fields are included in such operations. There are lot of other features that allow the developer to create high performance applications very quickly and easily.

For example, if you have an "OrderItems", an "Orders" object and a "Customers" object, the Quick Objects framework doesn't make 3 calls to database, it can do it in one and you still can decide what fields should be selected.  Same control over concurrency, you are not forced to perform concurrency check on the entire object and you can choose what fields should be used for concurrency check (if you want - very easily).

Honestly, it is the only ORM/framework with this kind of flexibility and control. Best of all it is very light weight and has a code generation built in so a developer is ready to code in just a few minutes.

Well, you can see it at &lt;a href="http://www.quickobjects.com" rel="nofollow"&gt;www.quickobjects.com&lt;/a&gt; and if you like to review it please let me know and I can get you a complimentary copy ;)

Thanks,
Ish

Quick Objects = Fastest Way To Powerful Applications</description>
		<content:encoded><![CDATA[<p>Hi Jon,</p>
<p>Interesting post about Linq to SQL.  I thought I&#8217;ll let you know about my product that actually can work in a disconnected environment and also allows you to do inserts/updates including complete control over what fields are included in such operations. There are lot of other features that allow the developer to create high performance applications very quickly and easily.</p>
<p>For example, if you have an &#8220;OrderItems&#8221;, an &#8220;Orders&#8221; object and a &#8220;Customers&#8221; object, the Quick Objects framework doesn&#8217;t make 3 calls to database, it can do it in one and you still can decide what fields should be selected.  Same control over concurrency, you are not forced to perform concurrency check on the entire object and you can choose what fields should be used for concurrency check (if you want - very easily).</p>
<p>Honestly, it is the only ORM/framework with this kind of flexibility and control. Best of all it is very light weight and has a code generation built in so a developer is ready to code in just a few minutes.</p>
<p>Well, you can see it at <a href="http://www.quickobjects.com" rel="nofollow">www.quickobjects.com</a> and if you like to review it please let me know and I can get you a complimentary copy ;)</p>
<p>Thanks,<br />
Ish</p>
<p>Quick Objects = Fastest Way To Powerful Applications</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Antonio Jr</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2885</link>
		<author>Antonio Jr</author>
		<pubDate>Fri, 25 Apr 2008 20:12:36 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2885</guid>
					<description>I did exactly what you said but I´m still getting :
An attempt has been made to Attach or Add an entity that is not new, perhaps having been loaded from another DataContext.  This is not supported.</description>
		<content:encoded><![CDATA[<p>I did exactly what you said but I´m still getting :<br />
An attempt has been made to Attach or Add an entity that is not new, perhaps having been loaded from another DataContext.  This is not supported.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Edward</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2959</link>
		<author>Edward</author>
		<pubDate>Tue, 13 May 2008 09:29:36 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2959</guid>
					<description>LINQ over webservices is a nightmare. I haven't managed to get any updating working over webservice, and haven't found anyone non-third party solutions. Any chance you could update this tutorial demonstarting an update over web service? Timestamping does not serialise across web service, they must be specified as byte[] to do so, then the conversion back is a major headache.</description>
		<content:encoded><![CDATA[<p>LINQ over webservices is a nightmare. I haven&#8217;t managed to get any updating working over webservice, and haven&#8217;t found anyone non-third party solutions. Any chance you could update this tutorial demonstarting an update over web service? Timestamping does not serialise across web service, they must be specified as byte[] to do so, then the conversion back is a major headache.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Edward</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2961</link>
		<author>Edward</author>
		<pubDate>Tue, 13 May 2008 15:54:06 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2961</guid>
					<description>An update to my previous rant. This seems to have solved the timestamp issue for web services it (for a top level entity), will try associative next. Basically - set the TimeStamp property on the DataContext Entity to Private, then extend the class you wish to detach via webservices with a single property viz:
public partial class MyEntity
    {
        public string VersionStamp
        {
            get { return _TimeStamp.TimestampToString(); }
            set { _TimeStamp = value.StringToTimestamp(); }
        }
    }

 The TimeStamp to String and Back Methods can be found here....http://geekswithblogs.net/AndrewSiemer/archive/2008/02/11/converting-a-system.data.linq.binary-or-timestamp-to-a-string-and-back.aspx</description>
		<content:encoded><![CDATA[<p>An update to my previous rant. This seems to have solved the timestamp issue for web services it (for a top level entity), will try associative next. Basically - set the TimeStamp property on the DataContext Entity to Private, then extend the class you wish to detach via webservices with a single property viz:<br />
public partial class MyEntity<br />
    {<br />
        public string VersionStamp<br />
        {<br />
            get { return _TimeStamp.TimestampToString(); }<br />
            set { _TimeStamp = value.StringToTimestamp(); }<br />
        }<br />
    }</p>
<p> The TimeStamp to String and Back Methods can be found here&#8230;.http://geekswithblogs.net/AndrewSiemer/archive/2008/02/11/converting-a-system.data.linq.binary-or-timestamp-to-a-string-and-back.aspx</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jon Kruger</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2962</link>
		<author>Jon Kruger</author>
		<pubDate>Tue, 13 May 2008 22:04:04 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-2962</guid>
					<description>@Edward,

What kind of web services are you using?  We're using LINQ to SQL with WCF web services and it has no problem with the timestamps.

Trying to do an update over web services isn't trivial.  The biggest challenge is dealing with entities that have properties that return lists (EntitySet&lt;T&gt;) because you don't want to pass the entire list back when you want to save the entity when you didn't change anything in the EntitySet.  You also have to deal with re-attaching entities to the DataContext using the Attach() method, which also has some issues that you have to deal with.

I've been meaning to write a post about these things, but I've been having trouble finding time to write. :)  Check back later and maybe I'll write something up.

Jon</description>
		<content:encoded><![CDATA[<p>@Edward,</p>
<p>What kind of web services are you using?  We&#8217;re using LINQ to SQL with WCF web services and it has no problem with the timestamps.</p>
<p>Trying to do an update over web services isn&#8217;t trivial.  The biggest challenge is dealing with entities that have properties that return lists (EntitySet<t>) because you don&#8217;t want to pass the entire list back when you want to save the entity when you didn&#8217;t change anything in the EntitySet.  You also have to deal with re-attaching entities to the DataContext using the Attach() method, which also has some issues that you have to deal with.</p>
<p>I&#8217;ve been meaning to write a post about these things, but I&#8217;ve been having trouble finding time to write. :)  Check back later and maybe I&#8217;ll write something up.</p>
<p>Jon</t></p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Ish Singh</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-3017</link>
		<author>Ish Singh</author>
		<pubDate>Wed, 28 May 2008 20:31:53 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-3017</guid>
					<description>Edward

We have no released a Community Edition of Quick Objects which is free for commercial or non-commercial uses.  The best thing is that the free version can be used in WCF. It truly is very easy to use and the client application can either use proxy class or reuse the business objects. Take a look at couple of &lt;a href="http://www.akaltech.com/Products/Business_Logic/Video/Default.aspx" rel="nofollow"&gt;WCF videos on our website&lt;/a&gt; to see it for yourself.

Good luck,
Ish</description>
		<content:encoded><![CDATA[<p>Edward</p>
<p>We have no released a Community Edition of Quick Objects which is free for commercial or non-commercial uses.  The best thing is that the free version can be used in WCF. It truly is very easy to use and the client application can either use proxy class or reuse the business objects. Take a look at couple of <a href="http://www.akaltech.com/Products/Business_Logic/Video/Default.aspx" rel="nofollow">WCF videos on our website</a> to see it for yourself.</p>
<p>Good luck,<br />
Ish</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jarem</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-3020</link>
		<author>Jarem</author>
		<pubDate>Sun, 08 Jun 2008 15:04:23 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-3020</guid>
					<description>Thanks Edward.
I ran into the exact issue. When added the timestamp i got a serialization error. I've implemented your suggestion and it works like a charm.</description>
		<content:encoded><![CDATA[<p>Thanks Edward.<br />
I ran into the exact issue. When added the timestamp i got a serialization error. I&#8217;ve implemented your suggestion and it works like a charm.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Sameer</title>
		<link>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-3021</link>
		<author>Sameer</author>
		<pubDate>Tue, 10 Jun 2008 10:22:01 +0000</pubDate>
		<guid>http://jonkruger.com/blog/2008/02/10/linq-to-sql-in-disconnectedn-tier-scenarios-saving-an-object/#comment-3021</guid>
					<description>I have written an article related to this on &lt;a href="http://www.codeproject.com/KB/dotnet/NorthwindNTierBlueprint.aspx" rel="nofollow"&gt; codeproject &lt;/a&gt;

Please have a look and post your valuable comments / suggestions there.</description>
		<content:encoded><![CDATA[<p>I have written an article related to this on <a href="http://www.codeproject.com/KB/dotnet/NorthwindNTierBlueprint.aspx" rel="nofollow"> codeproject </a></p>
<p>Please have a look and post your valuable comments / suggestions there.</p>
]]></content:encoded>
				</item>
</channel>
</rss>
