我们正在开发一个带有 C# 代码的 ASP.NET Web 应用程序。数据库是使用 InnoDB 的 MySQL 5.1。数据访问层使用 ADO.NET 调用存储过程,然后根据结果集构建各种数据结构(无对象映射)。这很好用,但有点冗长。
毫不奇怪,我们在设计数据模型的第一个版本时犯了一些错误,但经验让我们变得更聪明,我们决定重构数据模型。我们不必改变我们的数据访问层,但我们也在考虑我们的选择。
如今,我们很难忽视 ORM 工具的流行。我们觉得我们落后了,或者不熟悉他们。不仅如此,我们还设计了一个对象模型,可以很好地描述我们的数据模型。我们会考虑的主要 ORM 工具是 NHibernate、ADO.NET 实体框架和 LINQ to SQL。我们更喜欢 LINQ 到 SQL,因为我们已经读到(在 SO 上)它比完整的 ORM 工具更轻量级。
我们认为使用 ORM 工具的一个缺点是学习曲线,但我们已经看到使用 LINQ 如何减少我们必须编写的代码量,从长远来看可以节省我们的时间。但是,我们使用的是 MySQL,而不是 SQL Server。
所以我的问题是,DBLinq对生产系统是否足够好?或者,LINQ to SQL 是否足以让我们转向 SQL Server 2008? 顺便说一句,我更喜欢使用 SQL Server 而不是 MySQL,但成本是明显的缺点。在 BizSpark 上呆了 3 年后,我们会以 6000 美元的价格上钩。或者,我们应该考虑使用其他 ORM 工具吗?或者,我们应该忽略炒作而不使用 ORM 工具,而是利用LINQ to DataSet吗?
我在 SO 上搜索了有关 DBLinq 的信息,但只找到了 17 个带有DBLinq 标签的问题,因此它似乎并不受欢迎。
编辑
虽然dotConnect for MySQL支持 LINQ,但这是另一种选择。
谁能谈谈该驱动程序在编写 LINQ 查询方面的表现如何?