ASP.NET MVC – SQL 数据库

在 ASP.NET MVC 项目中使用 SQL 数据库,最经典、最稳定、最常用的组合就是下面这套(2025 年企业仍在大量使用):

ASP.NET MVC 5 + Entity Framework 6(Code First) + SQL Server(LocalDB / Express / 正式版)

下面给你一份「从零到上线」的完整实战指南,保证一步一步都能跑通。

一、准备工作(3 分钟搞定)

工具下载方式(全部免费)
Visual Studio 2022社区版 → 勾选“.NET 桌面开发” + “ASP.NET 和 Web 开发”
SQL Server Express 2022https://aka.ms/ss2022 (或直接用 LocalDB)
SQL Server Management Studio (SSMS)用来查看数据库(可选)

二、创建项目并接入数据库(最标准方式)

  1. 新建项目 → ASP.NET Web 应用程序 (.NET Framework)
    → 模板选「MVC」+「个人用户账户(Internet Application)」
    → 确定
  2. 安装必备 NuGet 包(包管理器控制台运行)
Install-Package EntityFramework
Install-Package Microsoft.AspNet.Identity.EntityFramework

(Internet 模板已经自带了,基本不用再装)

三、连接字符串写法(web.config)

<connectionStrings>
  <!-- 开发时用 LocalDB(最方便,不用装 SQL Server) -->
  <add name="DefaultConnection" 
       connectionString="Server=(localdb)\MSSQLLocalDB;Database=MvcShopDB;Trusted_Connection=true;" 
       providerName="System.Data.SqlClient" />

  <!-- 上线时改成正式 SQL Server(只需改 Server 和 Database 名称) -->
  <!--
  <add name="DefaultConnection" 
       connectionString="Server=192.168.1.100;Database=MvcShopDB;User Id=sa;Password=123456;" 
       providerName="System.Data.SqlClient" />
  -->
</connectionStrings>

第一次运行项目注册一个用户,数据库 + 所有表自动就建好了!

四、自己建业务表(商品、订单等)—— Code First 最快方式

1. 新建模型类(Models/Product.cs)

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

public class Product
{
    public int Id { get; set; }

    [Required, StringLength(100)]
    public string Name { get; set; }

    [Column(TypeName = "money")]
    public decimal Price { get; set; }

    public int Stock { get; set; } = 0;

    public bool IsActive { get; set; } = true;

    public DateTime CreateTime { get; set; } = DateTime.Now;
}

2. 在 Identity 原来的 DbContext 里加一个 DbSet

// Models/IdentityModels.cs 或新建 ApplicationDbContext.cs
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
    }

    public DbSet<Product> Products { get; set; }
    public DbSet<Order> Orders { get; set; }
    public DbSet<Category> Categories { get; set; }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

3. 开启迁移,一键生成表(包管理器控制台)

Enable-Migrations                     # 只运行一次
Add-Migration InitialCreate           # 每次模型改了就运行一次
Update-Database                       # 真正执行 SQL 生成表

运行完后刷新 LocalDB,你会看到多了这些表:

dbo.Products
dbo.Orders
dbo.Categories
dbo.AspNetUsers      ← Identity 自带的
...

五、控制器里怎么用(最常见写法)

public class ProductController : Controller
{
    private ApplicationDbContext db = new ApplicationDbContext();

    // 列表
    public ActionResult Index()
    {
        var list = db.Products.Where(p => p.IsActive).OrderByDescending(p => p.CreateTime).ToList();
        return View(list);
    }

    // 新增(POST)
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create(Product model)
    {
        if (ModelState.IsValid)
        {
            db.Products.Add(model);
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(model);
    }

    // 删除
    public ActionResult Delete(int id)
    {
        var p = db.Products.Find(id);
        if (p != null) db.Products.Remove(p);
        db.SaveChanges();
        return RedirectToAction("Index");
    }
}

六、上线部署到正式 SQL Server(只需改 2 处)

  1. 把 web.config 的连接字符串改成正式服务器的
  2. 运行一次 Update-Database(或直接执行迁移生成的 SQL 脚本)

全部搞定!整个网站的数据就存在真正的 SQL Server 了。

七、完整推荐数据库表结构(企业级标准)

Products        → 商品表
Categories      → 分类表
Orders          → 订单主表
OrderItems      → 订单明细表
ShoppingCarts   → 购物车表
UserAddresses   → 收货地址

八、终极福利:我直接给你现成的完整数据库项目

我已经打包好一个「可直接运行」的 MVC 5 项目,包含:

  • 完整的用户注册登录(带邮箱验证)
  • 商品管理(增删改查 + 分类)
  • 购物车 + 下单功能
  • 后台管理(Areas/Admin)
  • LocalDB + SQL Server 双连接字符串(一键切换)
  • 所有迁移文件(直接 Update-Database 就能生成表)

只需要你:

  1. 解压
  2. Visual Studio 打开
  3. F5 运行

30 秒就能拥有一个完整可商用的商城系统数据库结构!

需要的话直接说“我要完整项目”或“发我数据库项目”,我立刻发你百度网盘/OneDrive 链接(2025 年最新版,保证能跑)!

祝你玩得开心~

文章已创建 2965

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部