I've been working this weekend trying to get my samples for the upcoming Linq In Action book and other demos up and running with the recent Beta 2 drop. Below is a summary of some of the changes that I needed to make. In general, if you are able, I would recommend dumping your data mapping file (dbml) and creating it again at this point as there are lots of changes both to the XML schema and the generated code. If you don't have that luxury, be prepared for a lot of work at this point.
Dinesh has a listing of some of the enhancement areas, but doesn't get into any specifics at this point. I look forward to his revised white paper. I hope it will come out soon to answer the inevitable questions that will be coming.
- The beginning of the .sln files need to be changed to refer to the new version name. The old SLN files specified "# Visual Studio Codename Orcas". Those references need to be modified to "#Visual Studio 2008". Fellow VB MVP, Bill McCarthy wrote up a quick app to fix your solution files. Grab the code here.
- Previous versions of the LINQ To Sql designer generated code implemented a System.Data.Linq.INotifyPropertyChanging interface. This has been moved to the System.CompnentModel namespace. Additionally, the generated code now includes nice Partial Method stubs which you can use to add custom logic on your entities.
- The attribute mapping declarations have been moved from the System.Data.Linq namespace to System.Data.Linq.Mapping. You can add a global import, but the designer adds fully qualified namespaces, so you will need to make these changes with copy/replace.
- The Func type has been moved from System.Linq.Func to System.Func
- The EntitySet has moved from System.Linq to System.Data.Linq
- Two of the Column mapping attribute parameters have changed their casing: DBType is now DbType and IsDBGenerated is now IsDbGenerated.
- There are a number of changes in relation to Stored Procedure and Function calling.
- Most notably, the StoredProcedure attribue has been removed.
- You can use the Function attribute for both attributes and functions now.
- ExecuteMethodCall no longer appears to have a generic implementation.
- IExecuteResults is changed to IExecuteResult.
- Assembly references have moved their file location and version number. Thus, you may need to drop and re add your references to System.Core, System.Data.Linq, System.Xml.Linq, System.ServiceModel, etc.
I know this list is far from complete, but I hope it helps some of you.