LINQ to SQL breaking changes from beta2 to RTM (compiled from my LINQ forum posts)
Now that we are in the final weeks of locking down for RTM, it is worth tallying up the changes. Since betas are a bit experimental and intended for receiving feedback, the fact that there are changes shouldn't be surprising but we could do a better job of communicating the changes to our best customers - beta users and early adopters who help us polish the technology and take us to task for anything wacky (not just buggy). So here is a humble attempt to take a step in that direction
This post is just going to be a bunch of links to posts that have already covered this on LINQ forum.
LINQ to SQL Beta2 to RTM Key Changes
PLEASE READ: Beta2 to RTM Changes in Attach() Behavior
Beta2 to RTM change: XML column default mapping changed to XElement instead of XDocument
Beyond these salient ones, we are also working on a more detailed list to help you migrate smoothly from beta2 to RTM or to get your books, articles, blogs etc. in shape for .NET 3.5 / Visual Studio 2008 release. As I can scrape together some time, I am working on updating the LINQ to SQL paper that has not been updated since beta1 (so I won't even put URL for it until I do some badly needed updates)
10/10/07 Addition:
This is really a bug fix but worth mentioning in case the erroneous result went unnoticed in your code on beta2 and the exception on RTM build surprises you:
The intent was to not allow "partial entities" created through object initializer in projection. So the following query should have resulted in exception:
var q2 = from c in nw.Customers
where c.City.StartsWith("M")
select new Customer
{
ContactName = c.ContactName,
City = c.City
};
Instead, in beta2, this query executed and gave n copies of the first object where n is the total number of rows produced by the generated SQL. This bug has now been fixed and the query will result in an exception. The main reason is that we don't want downstream confusion e.g. some path relying on Customer.Orders collection or an UPDATE statement created using uninitialized values. Of course, you can do the intended projection above with an anonymous or separate nominal type.
10/17/07 Addition
Mike Warriner pointed out another important one that I had missed: Beta2 dbml file needs to be opened and saved to get the right unicode encoding. On that note, as I have pointed out in the post, I would not use generated code from beta2 at all. I would suggest using the dbml file from beta2 project and regenerating code using designer (saving is enough to re-gen) or SqlMetal as appropriate. It is not a good idea to use the beta2 generated code with the RTM run-time.
Dinesh
Comments
Anonymous
October 09, 2007
Now that we are in the final weeks of locking down for RTM, it is worth tallying up the changes. SinceAnonymous
October 09, 2007
Now that we are in the final weeks of locking down for RTM, it is worth tallying up the changes. SinceAnonymous
October 15, 2007
Welcome to the thirty-third edition of Community Convergence. This week we have a new video called ProgrammingAnonymous
October 17, 2007
Dinesh has a list of changes here. If you're using LINQ to SQL then this will have an impact on you....Anonymous
October 27, 2007
If you work with LINQ to SQL then you might want to take a look at this posts of Dinesh Kulkarni: LINQAnonymous
November 20, 2007
LINQ to SQL Breaking Changes from Visual Studio 2008 Beta 2 to RTM With the release of Visual StudioAnonymous
November 28, 2007
For those who have been working on LINQ to SQL, this post is a compilation of the breaking changes fromAnonymous
November 28, 2007
The comment has been removedAnonymous
November 28, 2007
LINQ to SQL breaking changes from beta2 to RTM (compiled from my LINQ forum posts)Anonymous
December 02, 2007
FollowScottGuthrie的例子学习LINQ,结果找了半天也没有找到TableAnonymous
April 20, 2008
Visual Studio 2008 LINQ to SQL 的Beta 2测试版和RTM正式版的差异Anonymous
December 16, 2008
For those who have been working on LINQ to SQL, this post is a compilation of the breaking changes fromAnonymous
January 05, 2009
For those who have been working on LINQ to SQL, this post is a compilation of the breaking changes from