提问人:Monalisa 提问时间:11/15/2023 更新时间:11/15/2023 访问量:23
如何将模型连接到本地 Microsoft 数据库?(C# Razor MVC 结构 - MVS 编辑器)
How to connect the model to the local Microsoft database? (C# Razor MVC structure - MVS editor)
问:
(自学在这里)我正在尝试制作一个简单的网站,用户可以在其中请求更改密码。有一个页面供用户输入。我希望他们的输入存储到数据库中。 我用一个名为 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# 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。
评论