Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Infrastructure: Allow custom SQLite builds (winsqlite3, SQLCipher, etc.) #7667

Closed
bricelam opened this issue Feb 21, 2017 · 2 comments
Closed
Assignees
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-enhancement
Milestone

Comments

@bricelam
Copy link
Contributor

bricelam commented Feb 21, 2017

Microsoft.Data.Sqlite has switched to SQLitePCL.raw. By introducing a Microsoft.EntityFrameworkCore.Sqlite.Core package, we'll enable consuming projects to choose one of the native SQLite implementations provided by SQLitePCL.raw.

For example, to use winsqlite3.dll, use this:

<ItemGroup>
  <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="2.0.0-*"/>
  <PackageReference Include="SQLitePCLRaw.bundle_winsqlite3" Version="1.1.5"/>
</ItemGroup>

The current SQLitePCLRaw.bundle_* packages they provide are:

  • e_sqlite3--An up-to-date version of SQLite configured consistently across platforms
  • green (default)--Same as e_sqlite3 except on iOS where the system's SQLite is used
  • sqlcipher--A version of SQLite with encryption (exposed via PRAGMA key)
  • winsqlite3--The version of SQLite included in Windows 10

You could also "drop" down to using specific providers (e.g. to use the system-wide SQLite library everywhere), but that scenario is more advanced so I won't cover it here.

For more information about SQLitePCL.raw, see the project's README file.

@bricelam bricelam self-assigned this Feb 21, 2017
@bricelam bricelam added closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-enhancement labels Feb 21, 2017
@bricelam bricelam added this to the 2.0.0 milestone Feb 21, 2017
@bricelam bricelam changed the title Create Microsoft.EntityFrameworkCore.Sqlite.Core Allow custom SQLite (winsqlite3, SQLCipher, etc.) Feb 21, 2017
@bricelam bricelam changed the title Allow custom SQLite (winsqlite3, SQLCipher, etc.) Allow custom SQLite builds (winsqlite3, SQLCipher, etc.) Feb 21, 2017
@ajcvickers ajcvickers changed the title Allow custom SQLite builds (winsqlite3, SQLCipher, etc.) Infrastructure: Allow custom SQLite builds (winsqlite3, SQLCipher, etc.) May 9, 2017
@kaushalswap
Copy link

kaushalswap commented May 24, 2018

Getting Error in release mode and not in debug mode '--C:\ProgramFiles(x86)\MicrosoftSDKs\UWPNuGetPackages\runtime.win10-x86.microsoft.net.native.compiler\2.1.8\tools\x86\ilc\Tools\nutc_driver.exe ' returned exit code 1

and Error: NUTC303B:Internal Compiler Error: Method 'instance System.Int32 SQLitePCL.ISQLite3Provider.sqlite3_blob_open(System.IntPtr, System.Byte[], System.Byte[], System.Byte[], System.Int64, System.Int32, System.IntPtr&)' is missing implementation on type 'SQLitePCL.SQLite3Provider_e_sqlite3' from assembly 'SQLitePCLRaw.provider.e_sqlite3' while loading type 'SQLitePCL.SQLite3Provider_e_sqlite3'. while computing compilation roots.

@bricelam
Copy link
Contributor Author

Ensure you're not mixing versions of SQLitePCL.raw packages. Try updating to the latest versions

@ajcvickers ajcvickers modified the milestones: 2.0.0-preview1, 2.0.0 Oct 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-enhancement
Projects
None yet
Development

No branches or pull requests

3 participants