Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing definition for UseSqlite in DbContextOptionsBuilder class of Microsoft.EntityFrameworkCore.Tool

I'm trying to write a simple phone app using UWP that will insert an image from a Windows folder location into a table on SQLite and view it on the Windows phone.

I found this article on technet forum that I am using for a reference:

https://social.technet.microsoft.com/wiki/contents/articles/37975.save-and-load-images-in-universal-windows-app-with-sqlite-and-entity-framework-core.aspx

While following the instructions, I ran into an issue in installing the package Microsoft.EntityFrameworkCore.Tools (latest stable ver.2.0.1):

PM>  Install-Package Microsoft.EntityFrameworkCore.Tools
  GET https://api.nuget.org/v3/registration3-gz/microsoft.entityframeworkcore.tools/index.json
  OK https://api.nuget.org/v3/registration3-gz/microsoft.entityframeworkcore.tools/index.json 74ms
Restoring packages for c:\users\intui\documents\visual studio 2017\Projects\PicturesApp\PicturesApp\PicturesApp.csproj...
Install-Package : Package Microsoft.EntityFrameworkCore.Tools 2.0.1 is not compatible with uap10.0.10586 (UAP,Version=v10.0.10586). Package 
Microsoft.EntityFrameworkCore.Tools 2.0.1 supports: netstandard2.0 (.NETStandard,Version=v2.0)
At line:1 char:2
+  Install-Package Microsoft.EntityFrameworkCore.Tools
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Same issue also occured with the previous version (2.0.0), but the next previous version (1.1.4) was installed successfully.

However, I found that the "DbContextOptionsBuilder" class used in the code "PictureAppContext" class does not recognize the method "UseSqlite":

Severity    Code    Description Project File    Line    Suppression State Error CS1061  'DbContextOptionsBuilder' does not contain a definition for 'UseSqlite' and no extension method 'UseSqlite' accepting a first argument of type "DbContextOptionsBuilder' could be found (are you missing a using directive or an assembly reference?)   PicturesApp c:\users\intui\documents\visual studio 2017\Projects\PicturesApp\PicturesApp\PictureAppContext.cs   16  Active

Anyone knows how resolve this issue?

Thanks!

like image 591
M.Ridha Avatar asked Nov 19 '17 15:11

M.Ridha


3 Answers

For .NET 5, I had to install the package Microsoft.EntityFrameworkCore.Sqlite.Core

Check the link

like image 173
dotcoder Avatar answered Oct 22 '22 22:10

dotcoder


I ran into this same issue using dotnet sdk 2.1.1 which was supposed to have all basic dependencies wrapped in Microsoft.AspnetCore.App. All i needed to do was run dotnet add package Microsoft.EntityFrameworkCore.Sqlite in a terminal window in the project directory (The directory that contains the Program.cs, Startup.cs, and .csproj files)

like image 25
Chsiom Nwike Avatar answered Oct 22 '22 22:10

Chsiom Nwike


I solved the issue by uninstalling the Nuget package Microsoft Entity Framework Core and installing Entity.Framework.Core.Sqlite.Design. I don't know why it solved the issue but the error is gone, I'm happy and that's all that matters.

like image 25
Numb_Seeker Avatar answered Oct 22 '22 22:10

Numb_Seeker