我快要疯了。我正在学习软件工程,目前我们正在使用 .NET 进行 C sharp。因此,我们应该使用 Entity 框架在我们的 PC 上使用 MSSQL 本地创建和发送/接收来自数据库的数据。 因此,我已尽我所能创建了与我的老师完全相同的代码,但我所做的任何事情都不允许我向数据库发送任何内容。我收到“没有为此 DBContexts 配置数据库提供程序”。我的老师正在使用“void OnConfiguring(DbContextOptionsBuilder optionsBuilder)”来执行此操作,但它对我不起作用。 我想使用那种方式,但在询问 ChatGPT 之后,我知道使用一种叫做“addDbcontext”的东西,我也尝试过但没有用。似乎我拥有的代码可以使用我提供的连接字符串创建数据库,但它不允许我使用“受保护的覆盖无效 OnModelCreating(ModelBuilder modelBuilder)”发送数据。
所以,如果有人能告诉我我做错了什么,有了这个实体框架和 MSSQL,我将不胜感激!
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 MADE!");
}
}