Доступ к базе данных MySql (8.0.31) с помощью .NET 7 EF Core (в Visual Studio для Mac)

Это были дни исследований и опробования многих методов. Кажется, что нет единого способа подключения к базе данных MySql в .NET 7 EF Core. Workbench MySQL используется для создания и размещения базы данных. Всегда есть какая-то часть, которая не работает, независимо от того, какое решение, объяснение или учебник я выбираю.

Я пытаюсь создать веб-приложение диспетчера контактов на С# с помощью Visual Studio для MacOS.

В настоящее время следующим кодом является мой Program.cs:

      using System.Xml;
using Microsoft.EntityFrameworkCore;

namespace CMProject;

public class Program
{
    public static void Main(string[] args)
    {
        var builder = WebApplication.CreateBuilder(args);

        // Add services to the container.
        var serverVersion = new MySqlServerVersion(new Version(8, 0, 31));
        string connectionString = builder.Configuration.GetConnectionString("DefaultConnection");
        builder.Services.AddDbContext<ContactManagerContext>(options => options.UseMySql(connectionString, serverVersion));

        builder.Services.AddRazorPages();

        var app = builder.Build();

        // Configure the HTTP request pipeline.
        if (!app.Environment.IsDevelopment())
        {
            app.UseExceptionHandler("/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }

        app.UseHttpsRedirection();
        app.UseStaticFiles();

        app.UseRouting();

        app.UseAuthorization();

        app.MapRazorPages();

        app.Run();
    }
}

А это мой ContactManagerContext:

      using System;
using Microsoft.EntityFrameworkCore;

namespace CMProject
{
    public class ContactManagerContext : DbContext
    {

        public ContactManagerContext(DbContextOptions<ContactManagerContext> options) : base(options)
        {
        }

        public DbSet<Contact> Contacts { get; set; }
    }
}

В некоторых учебниках они получают доступ к данным, создавая новые экземпляры класса ContactManagerContext в основном методе как;а у репетитора на видео работает, а у меня написано

Нет аргумента, который соответствует требуемому параметру «опции» ....

и так далее.

Это всего лишь один пример из многих, многих проблем.

Я пробовал так много разных способов, я не знаю, что я делаю неправильно или упускаю.

Любые идеи и советы очень ценятся.

Ура, Дж.

0 ответов

Другие вопросы по тегам