System.Data.SQLite on Entity Framework 6
This feature has been added.
Versions 1.0.91.0 and newer of System.Data.SQLite support EF6, this fork is not required.
If you’ve tried my tutorial for using Entity Framework on SQLite, you may have noticed that it doesn’t work on Entity Framework 6. If you set everything up just like you’re supposed to, you still get the following error.
The ‘Instance’ member of the Entity Framework provider type ‘System.Data.SQLite.SQLiteProviderServices, System.Data.SQLite.Linq, Version=1.0.86.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139’ did not return an object that inherits from ‘System.Data.Entity.Core.Common.DbProviderServices’. Entity Framework providers must extend from this class and the ‘Instance’ member must return the Singleton instance of the provider.
This is because there have been some breaking changes to the provider model in Entity Framework 6, and providers will need to be updated before they can work. (See the linked article for more information.)
An updated provider
Since the System.Data.SQLite provider is open source, I took the liberty of creating a fork and updating it to work with Entity Framework 6. You can find it hosted over on GitHub - the bricelam/System.Data.SQLite.Linq repository.
This is not in any way an official or supported fork; I just wanted to get something out there for the community to play with. Also, I do not intend to submit a pull request for my changes since they very trivial, and the more significant work will be integrating it into their build system.
Installing it
How can you get it? Easy, I’ve uploaded it to a NuGet feed hosted over on MyGet. You can install it directly from Package Manager Console using the following.
Install-Package System.Data.SQLite.Linq -Pre -Source
https://www.myget.org/F/bricelam/
Enjoy! And be sure to give us any feedback regarding EF6 over on our CodePlex project page.