与其他数据库的动态 LINQ
是否有其他 MS SQL 数据库(例如 MySQL 或 SQLite)的免费(免费)提供程序可以与 LINQ 配合使用并支持动态 SQL 查询生成?例如,table.Count()
生成类似于 SELECT COUNT(*) FROM table
的内容,并且不会首先加载整个表,然后计算行数。
Are there any free (gratis) providers for databases other MS SQL (e.g. MySQL or SQLite) that work with LINQ and support dynamic SQL query generation? E.g. table.Count()
generates something like SELECT COUNT(*) FROM table
and doesn't first load the whole table and then count the rows.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
以下是 DBLinq 项目: http://code.google.com/ p/dblinq2007/
DbLinq 是 LINQ 提供程序,允许使用具有接近 Linq to SQL 的 API 的通用数据库。它目前支持(按出现顺序):MySQL、Oracle、PostgreSQL、SQLite、Ingres、Firebird
这些提供程序是否按照您描述的方式执行
Count()
取决于提供程序的质量,我想。想必在优化方面做了一些努力。另请参见 http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
Here is the DBLinq project: http://code.google.com/p/dblinq2007/
DbLinq is THE LINQ provider that allows to use common databases with an API close to Linq to SQL. It currently supports (by order of appearance): MySQL, Oracle, PostgreSQL, SQLite, Ingres, Firebird
Whether these providers execute
Count()
in the way you describe depends on the quality of the provider, I suppose. Presumably some effort is made at optimization.See also http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
请查看 ADO.NET 实体框架。它通过 ADO.NET 数据提供程序和 LINQ to Entities(类似于 LINQ to SQL)支持 MySQL。作为一个 Microsoft 工具,它具有良好的 Visual Studio 集成和支持。
您还能解释一下为什么要支持这些数据库吗?
Check out ADO.NET Entity Framework. It supports MySQL via ADO.NET data providers and LINQ to Entities (similar to LINQ to SQL). Being a Microsoft tool, it has good Visual Studio integration and support.
Can you also explain why you want to support these databases?
NHibernate 支持多个数据库,并且最近发布了Linq 提供程序。
NHibernate supports multiple databases and has a recently-released Linq provider.