Se você está contruindo uma aplicação .NET 8 + Dapper com o SQLite como seu banco de dados, deve ter se deparado com duas bibliotecas de driver do SQLite que tem quase o mesmo nome, que são elas: Microsoft.Data.Sqlite e Microsoft.Data.Sqlite.Core.
Afinal, quando usar uma ou outra?
Microsoft.Data.Sqlite (RECOMENDADO na maioria dos casos)
- Inclui o provedor de ADO.NET para SQLite.
- Inclui o bundle com a biblioteca nativa do SQLite (e_sqlite3), através da dependência do pacote SQLitePCLRaw.bundle_e_sqlite3.
- Pronto para usar: não precisa se preocupar em fornecer a DLL nativa de SQLite.
- Ideal para: aplicações que precisam de uma instalação simples, como apps de console, desktop, ASP.NET Core
Microsoft.Data.Sqlite.Core (uso avançado)
- Inclui apenas o provedor ADO.NET e não inclui a biblioteca nativa do SQLite.
- Você precisa fornecer a biblioteca nativa por conta própria.
- Útil para cenários muito específicos, como:
- Aplicações que já carregam a biblioteca nativa de outra fonte.
- Plataformas onde o SQLite já está embutido (por exemplo, alguns sistemas mobile).
- Situações onde você quer controle total sobre a versão nativa do SQLite.
Em resumo:
Microsoft.Data.Sqlite
- Inclui SQLite nativo
- Usa-se quase sempre: apps comuns, .NET Core, ASP.NET Core, Console
Microsoft.Data.Sqlite.Core
- Não inclui SQLite nativo
- Usa-se somente se quiser ou precisar fornecer a DLL nativa do SQLite
Comentários
Postar um comentário