有人会解释如何让 LINQ 与 Sqlite 一起工作。
8 回答
Joe Albahari's LINQPad now supports Sqlite: http://www.linqpad.net/Beta.aspx. The one LINQ tool to rule them all.
CMS 提供的链接不再起作用。我已经使用了这个,因为它现在似乎已经融入了他们的 SQL lite ADO .NET 提供程序。
不幸的是,他们仍然不支持 VS 的设计器模式来创建类:(
另请注意,SQL Server compact 不支持 LINQ 类的设计模式!但是,如果您想使用实体框架,设计器确实适用于 SQL lite 和 SQL Server compact :)
我想补充一点,您可以通过 SqlLite 使用 Linq to Sql,但有几个规定:
- 您不能使用 Linq to Sql 设计器,这意味着您必须手动滚动您的课程。
- 您必须小心不要执行某些操作,这将导致 SqlLite 不支持的 Sql 代码。
例如,您不能在任何 Linq 查询中使用 FirstOrDefault(),因为它会导致如下结果:
select top 1 * from table where ...
由于 SqlLite 不支持“top 1”语法,您将遇到运行时 Sql 错误。
除此之外,我一直在将 Linq to Sql 与 SqlLite 一起使用,并在基本 CRUD 操作方面取得了巨大成功。
你可以使用这个:http ://code.google.com/p/dblinq2007 。虽然看起来该项目仍处于 Alpha 阶段,但 IMO 现在实际上非常稳定。当然,如果您有一个庞大的项目,最好考虑使用其他东西,例如 MySQL 或 SQL Compact。我不喜欢 SQL Server,因为它太臃肿了,而且没有提供比 SQL Compact 或 MySQL 更多的功能
在这个时候,没有好的工具可以做到这一点!
SQLite 的 LINQ 提供程序都处于 alpha 阶段(例如:dblinq2007)。而且将其用于商业目的是非常大的风险!所以也许在未来...
如果你想不使用 ADO.NET,有一个很好的 ove: phxsoftware。