Follow Scott Guthrie 的例子学习LINQ,结果找了半天也没有找到Table<TEntity>Add()这个函数,查了MSDN,也没看到,我还以为是static的Class Extension添加的方法呢,正郁闷着到底是少reference了哪个库。呵呵,结果进一步搜索才发现,原来RTM把Table<TEntity>Add()改名为 Table<TEntity>InsertOnSubmit()。这个改名语义更强了,改得确实对的,不然现在有很多人在论坛上问为什么Add()后数据库没变化。Scott Guthrie的Blog上似乎也没说啥,哎,让我这一头雾水呢。找了几个别人总结的差异,大家可以参考一下,用惯了Beta 2的人别想当然,看看有哪些改动。

这些是论坛上找到的关于LINQ to SQL 的Beta 2 到 RTM的改变的讨论:

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

LINQ to SQL breaking changes from beta2 to RTM (compiled from my LINQ forum posts)

LINQ to SQL: What is NOT in RTM (V1)

LINQ to SQL: features not in the designer / SqlMetal

后来,微软发了一个文章讲解从Beta 2 => RTM .Net Framework都有哪些变动。这个是微软官方推出的 LINQ to SQL 的Beta 2 to RTM的改动文档

LINQ to SQL Breaking Changes from Visual Studio 2008 Beta 2 to RTM (docx)

这个文档是Office 2007的docx格式,如果用其他版本打开还需要插件。我把这个文件转换成了PDF格式,可能更方便大家阅读。可以从这里下载:

LINQ to SQL Breaking Changes from Visual Studio 2008 Beta 2 to RTM (pdf)