如何将模型连接到本地 Microsoft 数据库?(C# Razor MVC 结构 - MVS 编辑器)

How to connect the model to the local Microsoft database? (C# Razor MVC structure - MVS editor)

提问人:Monalisa 提问时间:11/15/2023 更新时间:11/15/2023 访问量:23

问:

(自学在这里)我正在尝试制作一个简单的网站,用户可以在其中请求更改密码。有一个页面供用户输入。我希望他们的输入存储到数据库中。 我用一个名为 dbo 的表创建了一个数据库。密码提示。

控制器是:

using Microsoft.AspNetCore.Mvc;

namespace albarhelp.Controllers
{
    public class PasswordController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }
}

模型为:

namespace albarhelp.Models
{
    public class PasswordModel
    {
        public int StaffNo { get; set; }

        public int CivilID { get; set; }

        public string FullName { get; set; }

        public string SuggestPassword { get; set; }

        public string ContactTel { get; set; }
    }
}

请帮帮我。

我的理解是,我必须在appsettings.json中创建一个连接字符串 但随后向模型添加代码。但我不确定该写什么。

C# json asp.net-mvc 剃刀 localdb

评论

0赞 michaela112358 11/15/2023
我建议使用众多可用的免费教程之一。Microsoft自己的教程涵盖了这个主题 learn.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/......

答:

0赞 joeljohn135 11/15/2023 #1

若要将 C# Razor MVC 应用程序连接到本地 Microsoft SQL Server 数据库,需要执行几个步骤。以下是帮助您设置连接的一般指南:

步骤 1:将连接字符串添加到 appsettings.jsonStep 1: Add Connection String to appsettings.json打开 appsettings.json 文件,并在“ConnectionStrings”部分下添加连接字符串。将占位符替换为实际的数据库详细信息:

> {   "ConnectionStrings": {
>     "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=YourDatabaseName;Trusted_Connection=True;MultipleActiveResultSets=true"
> },

步骤 2:安装 Entity Framework Core确保已安装 Entity Framework Core。如果没有,可以使用以下 NuGet 包管理器控制台命令进行安装:

安装包 Microsoft.EntityFrameworkCore.SqlServer

步骤 3:创建数据库上下文为数据库上下文创建一个新类。此类将继承自 DbContext,并表示数据库。

using Microsoft.EntityFrameworkCore;

namespace albarhelp.Models
{
    public class ApplicationDbContext : DbContext
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }

        public DbSet<PasswordModel> PasswordHints { get; set; }
    }
}

步骤 4:更新启动 .cs在 Startup.cs 文件的 ConfigureServices 方法中,添加以下代码以配置数据库上下文:

services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

第 5 步:更新控制器更新 PasswordController 以使用数据库上下文:

using albarhelp.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;

namespace albarhelp.Controllers
{
    public class PasswordController : Controller
    {
        private readonly ApplicationDbContext _context;

        public PasswordController(ApplicationDbContext context)
        {
            _context = context;
        }

        public IActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public IActionResult Index(PasswordModel passwordModel)
        {
            if (ModelState.IsValid)
            {
                _context.PasswordHints.Add(passwordModel);
                _context.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(passwordModel);
        }
    }
}

步骤 6:运行迁移在包管理器控制台中,运行以下命令以创建和应用迁移:

**

Add-Migration InitialCreate
Update-Database

** 这些命令将根据您的模型创建必要的数据库表。

步骤 7:使用数据库现在,您可以使用控制器中的 _context 实例与数据库进行交互。上面的代码显示了如何在提交表单时向数据库添加新的 PasswordModel。