Mon*_*mer 4 c# console-application entity-framework-core .net-core
我创建了一个 .net core 控制台应用程序项目,如下所示。我认为几个月前这可以无误地运行,但现在它不再工作,并出现以下错误。
<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.");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
导致此错误的原因以及如何解决?
供您参考,数据库和表确实存在如下。
我正在开发 Visual Studio 2017 15.8.0 Preview 1.1。
浪费了几个小时后,我找到了解决方案。不像MyDatabase.db在项目根中通过迁移MyDatabase.db生成,默认生成在$OutDir没有Students表。
为了解决它,我必须在 root 上应用以下配置MyDatabase.db。
可能这个问题是由 VS 2017 Preview 引起的。
| 归档时间: |
|
| 查看次数: |
1417 次 |
| 最近记录: |