gpt4 book ai didi

c# - 是什么导致了这个 "no such table exception"?

转载 作者:行者123 更新时间:2023-11-30 20:26:02 25 4
gpt4 key购买 nike

我创建了一个.net core控制台应用项目如下。我认为几个月前这可以无误地运行,但现在它不再工作并出现以下错误。

enter image description here

代码

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0" />
</ItemGroup>

</Project>


using Microsoft.EntityFrameworkCore;
using System;

namespace ConsoleApp4
{
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
}

class SchoolContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=MyDatabase.db");
}
public DbSet<Student> Students { get; set; }
}

class Program
{
static void Main(string[] args)
{
using (SchoolContext _schoolContext = new SchoolContext())
{
Student student = new Student() { Name = "Billy" };


_schoolContext.Students.Add(student);


int result = _schoolContext.SaveChanges();

Console.WriteLine($"There is(are) {result} student(s) added.");
}
}
}
}

问题

导致此错误的原因以及如何解决?

编辑

供您引用,数据库和表确实存在如下。

enter image description here

我正在使用 Visual Studio 2017 15.8.0 Preview 1.1。

最佳答案

在浪费了几个小时之后,我找到了解决方案。与项目根目录下迁移生成的MyDatabase.db不同,$OutDir默认生成的MyDatabase.db没有Students 表。

要解决它,我必须在根 MyDatabase.db 上应用以下配置。

enter image description here

这个问题可能是由 VS 2017 Preview 引起的。

关于c# - 是什么导致了这个 "no such table exception"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50616729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com