我有使用 WPF 和使用 LINQ to SQL 的数据库 O/RM 创建项目,当我完成我的项目时,有些人想使用 MySQL 作为数据库,所以我可以在不更改任何源代码的情况下将我的 Linq 更改为 MySQL(也许只是更改连接细绳)
问候
我有使用 WPF 和使用 LINQ to SQL 的数据库 O/RM 创建项目,当我完成我的项目时,有些人想使用 MySQL 作为数据库,所以我可以在不更改任何源代码的情况下将我的 Linq 更改为 MySQL(也许只是更改连接细绳)
问候
不,你不能。作为 O/RM 工具的 LINQ to SQL 是专为与 SQL Server 数据库一起使用而开发的*,Microsoft 将来不会添加多数据库支持。当您想要这个并且需要血统 LINQ 支持时,最好使用 Microsoft Entity Framework。
** C# 团队确实将 LINQ to SQL 设计为多数据库。当您查看 Reflector 中的 System.Data.Linq 程序集时,您仍然可以看到这种设计。然而,出于“某些”原因(阅读:营销),Microsoft 决定不允许在 LINQ to SQL 上支持多数据库。LINQ to SQL 使用的提供程序模型是内部化的。虽然理论上,当您的应用程序完全信任运行时,仍然可以为其他数据库创建替代提供程序;这样做非常困难和痛苦,我从未见过有人尝试过。就像我说的,当您的应用程序需要多供应商支持时,您应该使用专门为此设计的 O/RM 工具。*
你需要 3. 党的支持。http://www.devart.com销售各种数据库的 DB 驱动程序,并包括 Entity 和 LINQ to SQL 支持。还有http://code.google.com/p/dblinq2007/和http://www.alinq.org/