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