我快要疯了。我正在学习软件工程,目前我们正在使用 .NET 进行 C#。因此,我们应该使用 Entity Framework 在我们的 PC 上使用 SQL Server 在本地数据库中创建和发送/接收数据。
我已尽我最大的能力创建了与我的老师完全相同的代码,但我所做的任何事情都不允许我向数据库发送任何内容。我得到一个错误
没有为此 DBContexts 配置数据库提供程序
我的老师正在使用
void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
这样做,但它对我不起作用。
我想用那种方式,但在询问 ChatGPT 后,我知道使用一种叫做
addDbcontext
的东西,我也试过但没有用。
我的代码似乎可以用我提供的连接字符串创建一个数据库,但它不允许我用a发送数据
protected override void OnModelCreating(ModelBuilder modelBuilder)
所以如果有人能告诉我我在使用这个实体框架和 SQL Server 做错了什么,我将不胜感激!
DBContext
班级
using Microsoft.EntityFrameworkCore;
using Opgave1.Classes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Opgave1.DBHandle
{
public class SkoleKlasseContext : DbContext
{
public SkoleKlasseContext()
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Data Source=DESKTOP-5CSHCTM\\SQLEXPRESS; Initial Catalog = Skoleklasse1; Integrated Security = SSPI; TrustServerCertificate = true");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<SkoleKlasse>().HasData(new SkoleKlasse[] { new SkoleKlasse { KlasseID = -1, KlasseNavn = "21T", Lokale = "A1.23", SpecialKlase = false } });
}
public DbSet<SkoleKlasse> skoleKlasser { get; set; }
}
}
主课
public partial class MainWindow : Window
{
private SkoleKlasseContext context = new SkoleKlasseContext();
public MainWindow()
{
InitializeComponent();
// Call EnsureCreated to create the database if it does not exist
bool created = context.Database.EnsureCreated();
if (created)
{
MessageBox.Show("Database created");
}
}
}