diff --git a/.gitignore b/.gitignore index 1c9a181a..03055daa 100644 --- a/.gitignore +++ b/.gitignore @@ -240,3 +240,6 @@ ModelManifest.xml # FAKE - F# Make .fake/ + +# Jetbrains Rider files +.idea/ diff --git a/.idea/.idea.CheeseMVC/riderModule.iml b/.idea/.idea.CheeseMVC/riderModule.iml new file mode 100644 index 00000000..1a4e0d95 --- /dev/null +++ b/.idea/.idea.CheeseMVC/riderModule.iml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..464a3ab3 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# Fix for LC101 students using Unix based systems (OSX or Linux) + +### Sources + +- https://medium.com/@yostane/entity-framework-core-and-sqlite-getting-started-on-macos-and-visual-studio-code-27f3830db77c +- https://docs.microsoft.com/en-us/ef/core/miscellaneous/configuring-dbcontext +- one very long night + +### Note +#### this project was written in JetBrains Rider. It should be compatible with Visual Studio but if not just use the modified files below: + +- src/CheeseMVC/Data/CheeseDbContext.cs +- src/CheeseMVC/CheeseMVC.csproj +- src/CheeseMVC/Startup.cs +- src/CheeseMVC/appsettings.json + + +\- Vamp diff --git a/src/CheeseMVC/CheeseMVC.csproj b/src/CheeseMVC/CheeseMVC.csproj index 212dde18..946b5065 100644 --- a/src/CheeseMVC/CheeseMVC.csproj +++ b/src/CheeseMVC/CheeseMVC.csproj @@ -1,22 +1,18 @@  - netcoreapp2.0 - - - - - - - - - - + + + + + + + \ No newline at end of file diff --git a/src/CheeseMVC/Data/CheeseDbContext.cs b/src/CheeseMVC/Data/CheeseDbContext.cs index d90ac210..632055f7 100644 --- a/src/CheeseMVC/Data/CheeseDbContext.cs +++ b/src/CheeseMVC/Data/CheeseDbContext.cs @@ -6,6 +6,11 @@ namespace CheeseMVC.Data public class CheeseDbContext : DbContext { public DbSet Cheeses { get; set; } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { + // Specify the path of the database here + optionsBuilder.UseSqlite("Data Source=./CheeseMVC.sqlite"); + } public CheeseDbContext(DbContextOptions options) : base(options) diff --git a/src/CheeseMVC/Startup.cs b/src/CheeseMVC/Startup.cs index 6993e060..98f446f1 100644 --- a/src/CheeseMVC/Startup.cs +++ b/src/CheeseMVC/Startup.cs @@ -31,7 +31,7 @@ public void ConfigureServices(IServiceCollection services) { services.AddDbContext(options => - options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); + options.UseSqlite("DataSource=CheeseMVC.sqlite")); // Add framework services. services.AddMvc(); diff --git a/src/CheeseMVC/appsettings.json b/src/CheeseMVC/appsettings.json index d327753e..fa8ce71a 100644 --- a/src/CheeseMVC/appsettings.json +++ b/src/CheeseMVC/appsettings.json @@ -1,7 +1,4 @@ { - "ConnectionStrings": { - "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=CheeseMVC-persistent;Trusted_Connection=True;MultipleActiveResultSets=true" - }, "Logging": { "IncludeScopes": false, "LogLevel": {