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

问题描述 投票:0回答:1

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

控制器是:

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 razor localdb
1个回答
0
投票

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

第 1 步:将连接字符串添加到 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步:更新Startup.cs 在 Startup.cs 文件的 ConfigureServices 方法中,添加以下代码来配置数据库上下文:

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

第 5 步:更新控制器 更新您的密码控制器以使用数据库上下文:

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。

© www.soinside.com 2019 - 2024. All rights reserved.