繁体   English   中英

带有 Entity Framework Core 的 SQLite 脚手架

[英]SQLite scaffolding with Entity Framework Core

当我跑

Scaffold-DbContext "Filename=mydatabase.sqlite3" Microsoft.EntityFrameworkCore.Sqlite

我得到一个空的上下文

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;

namespace MyNamespace
{
    public partial class mydatabaseContext : DbContext
    {
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlite(@"Filename=mydatabse.sqlite3");
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
        }
    }
}

我是不是做错了什么。 这可用于 SQLite 吗?

我在数据库中有一个带有 id 和 name 的表,这只是一个让我开始的简单示例。

由于连接字符串中的相对路径,它正在 bin 文件夹中创建一个新数据库。 我使用了新的连接字符串。

Scaffold-DbContext "DataSource=C:\dev\mydatabase.sqlite3" Microsoft.EntityFrameworkCore.Sqlite

路径是相对于输出目录解析的。 (又名bin 。)确保您的数据库文件在构建时复制到输出目录。

通过将Copy to Output Directory设置为Copy if newer在 csproj 中执行此操作。

通过将以下内容添加到您的project.json在 xproj 上执行此操作。

{
  "publishOptions": {
    "include": [
      "mydatabase.sqlite"
    ]
  }
}

你可以试试:

Scaffold-DbContext "DataSource=PATH\mydatabase.sqlite3 "Microsoft.EntityFrameworkCore.Sqlite -OutputDir Models

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM