你如何使用LINQ与Sqlite

有人会解释如何让LINQ使用Sqlite。

这里有SQLite的SQL Linq提供程序以及其他一些DB

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

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

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

另请注意,SQL Server compact不支持LINQ类的设计模式! 但是,如果您想使用entity framework,设计器确实适用于SQL lite和SQL Server compact 🙂

是的,CMS提到了一个SqlLite Linq Provider

查看SQL server compact,它可以很好地与Linq配合使用

在SO上有另一个线程你应该检查

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

我想补充一点,你可以使用Linq to Sql with SqlLite,并有几个规定:

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

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

select top 1 * from table where ... 

由于SqlLite不支持“前1”语法,因此您将gt运行时Sql错误。

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

检查此提供者:

SqlLite Linq提供程序

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

在这个时候没有好的工具来做到这一点!

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

如果你不想使用ADO.NET,那就有很好的ove: phxsoftware 。