在 SQL 版本之间可互换的 Linq dbml

Posted

技术标签:

【中文标题】在 SQL 版本之间可互换的 Linq dbml【英文标题】:Linq dbml interchangeable between SQL Editions 【发布时间】:2010-08-12 16:20:15 【问题描述】:

我有一个使用Linq To SQL 作为 DAL 的桌面应用程序。它访问本地SQL Express DB

如果我有一个具有完全相同架构的SQL CE DB表结构),我可以重复使用生成的dbml,只需给它一个不同的连接字符串吗?

【问题讨论】:

【参考方案1】:

article on LINQ To SQL on SQL CE from Matt Manela 建议您可以将 SQL Server Express 连接字符串替换为 SQL Server CE 的连接字符串,而不会出现任何大问题。如果您感兴趣的只是表级查询,听起来您的状态会很好。

但他指出,CE 处理连接的方式与较大的 SQL Server 版本不同。

在没有自己测试的情况下,我只想确定 LINQ To SQL 是否会使用 SQL CE 不支持的关键字或功能生成任何 TSQL 语句。

另外请注意,当前版本不支持存储过程或 XML 数据类型。它使用 TSQL 的一个子集。

最好访问official .NET 3.5 SP1 LINQ To SQL for SQL Server Compact page at Microsoft。

【讨论】:

以上是关于在 SQL 版本之间可互换的 Linq dbml的主要内容,如果未能解决你的问题,请参考以下文章

如何关联不同 dbml 图上的 Linq-To-Sql 对象?

如何向 Linq2SQL DBML 文件添加额外的程序集引用?

为 linq to sql 更新 SQL Compact db 和 dbml 时出现 Method not Found 错误

LINQ to SQL class LINQ to sql Objects?

如何在LINQ-To-SQL中排除Contex.InsertOnSubmit()上的用户定义字段?

LINQ和存储过程DBML更新问题