【发布时间】:2009-10-19 18:22:51
【问题描述】:
对于与 LINQ 一起使用并支持动态 SQL 查询生成的其他 MS SQL(例如 MySQL 或 SQLite)数据库,是否有任何免费(免费)提供程序?例如。 table.Count() 生成类似于 SELECT COUNT(*) FROM table 的内容,并且不会先加载整个表然后计算行数。
【问题讨论】:
标签: sql linq dynamic-linq
对于与 LINQ 一起使用并支持动态 SQL 查询生成的其他 MS SQL(例如 MySQL 或 SQLite)数据库,是否有任何免费(免费)提供程序?例如。 table.Count() 生成类似于 SELECT COUNT(*) FROM table 的内容,并且不会先加载整个表然后计算行数。
【问题讨论】:
标签: sql linq dynamic-linq
这里是 DBLinq 项目: http://code.google.com/p/dblinq2007/
DbLinq 是 LINQ 提供程序,它允许使用具有接近 Linq to SQL 的 API 的通用数据库。目前支持(按出现顺序):MySQL、Oracle、PostgreSQL、SQLite、Ingres、Firebird
我想,这些提供程序是否以您描述的方式执行Count() 取决于提供程序的质量。大概在优化方面做了一些努力。
【讨论】:
查看ADO.NET Entity Framework。它通过 ADO.NET 数据提供程序和 LINQ to Entities(类似于 LINQ to SQL)支持 MySQL。作为 Microsoft 工具,它具有良好的 Visual Studio 集成和支持。
您能否解释一下为什么要支持这些数据库?
【讨论】:
NHibernate 支持multiple databases,并且最近发布了Linq provider。
【讨论】: