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

Document Microsoft.Data.Sqlite #1915

Merged
merged 1 commit into from
Dec 11, 2019
Merged

Document Microsoft.Data.Sqlite #1915

merged 1 commit into from
Dec 11, 2019

Conversation

bricelam
Copy link
Contributor

@bricelam bricelam commented Nov 12, 2019

Here's everything (well, almost everything) I know about Microsoft.Data.Sqlite. 😉

Preview URL: https://review.docs.microsoft.com/msdata-sqlite/?branch=pr-en-us-1915

To do after merging:

  • Update README in product repo
  • Add <seealso>'s to XML docs
  • Link to from other docs

@bricelam bricelam force-pushed the sqlite branch 3 times, most recently from 3046238 to 3a1efc2 Compare November 12, 2019 23:31
@smitpatel

This comment has been minimized.

@@ -0,0 +1,31 @@
---
title: Dapper Limitations - Microsoft.Data.Sqlite
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mgravell @NickCraver I'd love a technical review of this page and its sample.

@@ -0,0 +1,76 @@
---
title: Comparison to System.Data.SQLite - Microsoft.Data.Sqlite
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mistachkin I'd love your feedback on this page. Any other confusion you see from users between System.Data.SQLite and Microsoft.Data.Sqlite?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm unable to view the document without signing into a Microsoft account? I'm not able to do that at the moment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol, sounds about right. Here's a screenshot:
image

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read through it quickly. Looks good so far.

I'm curious how Microsoft.Data.SQLite handles the native library integration. For System.Data.SQLite, it generally uses the "Native Library Pre-Loading" feature, allowing it to dynamically select the native library that matches the processor architecture of the current process.

I'm also curious about support for other features, such as the online backup API, incremental BLOB I/O, and the session extension. I assume that Microsoft.Data.SQLite does not yet support these?

Copy link
Contributor Author

@bricelam bricelam Dec 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We use ericsink/SQLitePCL.raw to handle all the native interaction (also used by praeclarum/sqlite-net). It's a mixture of MSBuild, NuGet, and the new NativeLibrary functionality added to .NET Core.

We have a non-yielding (blocking, all-at-once) API for online backup (see this sample) and an issue on the backlog to add an interruptable, progress-reporting async version (issue dotnet/efcore#13834).

Our BLOB I/O looks mostly the same except we implement IStream to make it a bit more versatile. (see this sample)

No support for the session extension. The precompiled versions of SQLite that ship as part of SQLitePCLRaw don't include it.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"No support for the session extension. The precompiled versions of SQLite that ship as part of SQLitePCLRaw don't include it."

Should I add this? I don't think anybody has ever asked for it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note, almost all of the extra-ADO.NET features (Online backup, UDFs, Custom collation, and BLOB I/O) have been contributed by the community. They're not typically a priority for us the EF Core team.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ericsink Ditto. I haven't heard anyone ask for it.

@bricelam
Copy link
Contributor Author

Merging to move things forward, but please feel free to provide additional feedback here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants