SQLite in ASP.NET Core with EntityFrameworkCore

前端 未结 3 1841
清歌不尽
清歌不尽 2021-01-30 03:50

How do you add and use an SQLite database in an ASP.NET Core web application, using EntityFramework 7 ?

I dived into ASP.NET Core the moment I heard about it and created

3条回答
  •  再見小時候
    2021-01-30 04:42

    If you want to create an ASP.NET Core web application using SQLite for the database, I highly recommend using Yeoman to scaffold the app for you. You need to first install .NET Core 1.1 SDK (Visual Studio 2015 seems to only include SDK versions 1.0.0 and 1.0.1 at the moment). You then need to install Node.js which comes with npm and then install the following npm packages: yo and generator-aspnet. Then all you have to do is run yo aspnet and answer a few questions.

    C:\Development>yo aspnet
    ? ==========================================================================
    We're constantly looking for ways to make yo better!
    May we anonymously report usage statistics to improve the tool over time?
    More info: https://github.com/yeoman/insight & http://yeoman.io
    ========================================================================== Yes
    
         _-----_     ╭──────────────────────────╮
        |       |    │      Welcome to the      │
        |--(o)--|    │  marvellous ASP.NET Core │
       `---------´   │        generator!        │
        ( _´U`_ )    ╰──────────────────────────╯
        /___A___\   /
         |  ~  |
       __'.___.'__
     ´   `  |° ´ Y `
    
    ? What type of application do you want to create? Web Application
    ? Which UI framework would you like to use? Bootstrap (3.3.6)
    ? What's the name of your ASP.NET application? WebApplication
    

    Afterwards, you will get the following response:

     Your project is now created, you can use the following commands to get going
        cd "WebApplication"
        dotnet restore
        dotnet build (optional, build will also happen when it's run)
        dotnet ef database update (to create the SQLite database for the project)
        dotnet run
    

    Run dotnet restore, dotnet ef database update, and then dotnet run and go to localhost:5000 to make sure the project is running.

    Now you can open the project in Visual Studio 2015 (assuming you're on Windows) or Visual Studio Code.

    The great thing about this is that Startup.cs, project.json, and appsettings.json files are setup to use SQLite. Also, a SQLite database is created for you:

    Startup.cs:

    public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddDbContext(options =>
            options.UseSqlite(Configuration.GetConnectionString("DefaultConnection")));
    }
    

    project.json:

    {
        "Microsoft.EntityFrameworkCore.Sqlite": "1.1.0",
        "Microsoft.EntityFrameworkCore.Sqlite.Design": {
          "version": "1.1.0",
          "type": "build"
        }
    }
    

    appsettings.json

    {
      "ConnectionStrings": {
        "DefaultConnection": "Data Source=WebApplication.db"
      }
    }
    

    Your SQLite database will be located in bin/Debug/netcoreapp1.0. In my case, it is located in C:\Development\WebApplication\bin\Debug\netcoreapp1.0\WebApplication.db

    If you want to rename the SQLite database, modify appsettings.json file and run dotnet ef database update.

    To learn more about using SQLite database with .NET Core and EF Core, check out this article: .NET Core - New Database

提交回复
热议问题