【问题标题】:How do you use LINQ with Sqlite你如何使用 LINQ 和 Sqlite
【发布时间】:2008-11-25 23:06:45
【问题描述】:

有人能解释一下如何让 LINQ 与 Sqlite 一起工作吗?

【问题讨论】:

标签: c# .net linq sqlite


【解决方案1】:
【解决方案2】:

Joe Albahari 的 LINQPad 现在支持 Sqlite:http://www.linqpad.net/Beta.aspx。一个 LINQ 工具来统治它们。

【讨论】:

  • 不客气。你有没有机会解决这个问题?
【解决方案3】:

CMS 提供的链接不再有效。我使用了这个one,因为它现在似乎已经融入了他们的 SQL lite ADO .NET 提供程序。

不幸的是,他们仍然不支持 VS 的设计器模式来创建类:(

另外请注意,SQL Server compact 不支持 LINQ 类的设计模式!但是,如果您想使用实体框架,设计器确实适用于 SQL lite 和 SQL Server compact :)

【讨论】:

    【解决方案4】:

    是的,CMS 提到了 SqlLite Linq Provider

    查看 SQL server compact,它与 Linq 配合得很好

    There is another thread on SO which you should check

    【讨论】:

    • 感谢您添加此内容。在发布我自己的问题之前,我已经阅读了这篇文章,但仍然不明白如何让 Linq 工作,所以我决定自己写下这个问题。
    【解决方案5】:

    我想补充一点,您可以通过 SqlLite 使用 Linq to Sql,但有几个规定:

    1. 您不能使用 Linq to Sql 设计器,这意味着您必须手动滚动您的课程。
    2. 您必须小心不要进行某些操作,这将导致 SqlLite 不支持的 Sql 代码。

    例如,您不能在任何 Linq 查询中使用 FirstOrDefault(),因为它会导致如下结果:

    select top 1 * from table where ...
    

    由于 SqlLite 不支持“top 1”语法,你会遇到运行时 Sql 错误。

    除此之外,我一直在使用带有 SqlLite 的 Linq to Sql 并在基本 CRUD 操作方面取得了巨大成功。

    【讨论】:

      【解决方案6】:

      你可以使用这个:http://code.google.com/p/dblinq2007。 虽然看起来该项目仍处于 Alpha 阶段,但 IMO 现在实际上非常稳定。当然,如果你有一个庞大的项目,最好考虑使用其他的东西,比如 MySQL 或 SQL Compact。我不喜欢 SQL Server,因为它太臃肿了,而且没有提供比 SQL Compact 或 MySQL 更多的功能

      【讨论】:

        【解决方案7】:

        检查此提供程序:

        SqlLite Linq Provider

        您也可以考虑使用SQL Compact,它具有非常好的 LINQ-to-SQL 支持。

        【讨论】:

        • Linq 缺少关键 ZIP。
        【解决方案8】:

        目前没有没有好的工具可以做到这一点!

        SQLite 的 LINQ 提供程序都处于 alpha 阶段(例如:dblinq2007)。而且将其用于商业目的是非常大的风险!所以也许在未来......

        如果你想不使用 ADO.NET,可以使用:phxsoftware

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-03-04
          • 1970-01-01
          • 1970-01-01
          • 2018-03-10
          • 2017-11-08
          • 2019-03-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多