【问题标题】:Dynamic LINQ with other databases与其他数据库的动态 LINQ
【发布时间】:2009-10-19 18:22:51
【问题描述】:

对于与 LINQ 一起使用并支持动态 SQL 查询生成的其他 MS SQL(例如 MySQL 或 SQLite)数据库,是否有任何免费(免费)提供程序?例如。 table.Count() 生成类似于 SELECT COUNT(*) FROM table 的内容,并且不会先加载整个表然后计算行数。

【问题讨论】:

    标签: sql linq dynamic-linq


    【解决方案1】:

    这里是 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

    【讨论】:

    • DBLinq 页面上没有任何指示,是否稳定,最后一个版本是一年前(虽然 SVN 是昨天更新的)。如果没有更好的,我会试试这个。
    【解决方案2】:

    查看ADO.NET Entity Framework。它通过 ADO.NET 数据提供程序和 LINQ to Entities(类似于 LINQ to SQL)支持 MySQL。作为 Microsoft 工具,它具有良好的 Visual Studio 集成和支持。

    您能否解释一下为什么要支持这些数据库?

    【讨论】:

    【解决方案3】:

    NHibernate 支持multiple databases,并且最近发布了Linq provider

    【讨论】:

    • 他们的 LINQ 提供程序似乎很成问题,他们说版本 2 应该更好。
    猜你喜欢
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 2014-03-19
    相关资源
    最近更新 更多