Another late-in-the-cycle change in LINQ to SQL that will be visible in RTM:
In beta2, the default .NET type for mapping an XML column was LINQ to SQL's XDocument.
In RTM, the default will be XElement.
Reason: due to a late change in LINQ to XML, XDocument cannot be serialized with the DataContract serializer. XElement can still be serialized. We wanted to make sure that if you choose the serialization option in SqlMetal or designer, the resulting classes are indeed serializable. Hence, we have changed the default to XElement.
However, you can still choose to use XDocument explicitly in the designer or by editing the dbml (or in your favorite editor or separate mapping tool). It is just not the default anymore.
As before XML fragments that are not XElement/XDocument are not supported. There is no change in how the run-time handles XML columns. This is only a design-time change in LINQ to SQL.
Thanks,
Dinesh
P.S. When moving from beta2 to RTM, please make sure that you regen the classes from your database/dbml using designer or SqlMetal. While we would have liked to maintain "generated source compatibility", that has not been possible in going from beta2 to RTM. I expect problems if code generated with beta2 is used against RTM version of System.Data.Linq.dll.