【从实作学习ASP.NET Core】Day07 | 後台 | 复杂的商品模型

前面花了点时间介绍了 MVC,今天终於要进入正题啦!
我会以一个电玩专卖店的购物网站为主题,并且从後台的管理系统开始做起,内容大概会包含有商品、订单和会员功能,大多都会围绕在 CRUD 的应用上。


商品模型

上次已经建立好一个基础的商品模型,但实际上的商品不会只有名称价钱而已,我们需要帮 Product 的模型多加几个栏位,而且以商品类别加以分类,所以也一并把 Category 模型建好,以外键建立关联。更改栏位如下:

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

        public string Name { get; set; }            //商品名称
        public string Description { get; set; }     //商品简介
        public string Content { get; set; }         //商品内容
        public int Price { get; set; }              //商品价格
        public int Stock { get; set; }              //商品库存
        public byte[] Image { get; set; }           //商品图片

        public int CategoryId { get; set; }         //类别 (Foreign Key)
        public Category Category { get; set; }
    }

    public class Category
    {
        public int Id { get; set; }
        public string Name { get; set; }            //类别名称
        public List<Product> Products { get; set; }
    }
    

部属资料库到 SQL Sever Express

之前都没有特别提到资料库在哪里,MVC 专案预设的位置会是 LocalDB,我们可以到appsetting.json看看连接字串是连接到哪一个资料库

"ConnectionStrings": {
    "OnlineShopContext": "Server=(localdb)\\mssqllocaldb;Database=OnlineShopContext-d32dd82d-bdd1-4cb2-9e42-046cc024dc49;Trusted_Connection=True;MultipleActiveResultSets=true"
  }

但我们想要让资料库连接到 SQL Sever Express 上,好让之後可以用管理工具看资料,那就必须取得 SQL Sever Express 的连接字串:

首先打开 Microsoft SQL Server Management Studio,用windows认证 连上 SQL Sever Express

在资料库右键新增资料库名为OnlineShop


之後回到Visual Studio [ 工具 -> 连接到资料库 -> 把 Server name 打上 -> 选取资料库OnlineShop ]


点选连接到的资料库可以查询到它的Connection String


复制Connection String到appsetting.json贴上修改

"ConnectionStrings": {
    "OnlineShopContext": "Data Source=DESKTOP-E22K0FS\\SQLEXPRESS;Initial Catalog=OnlineShop;Integrated Security=True"
  }

最後再来移转资料库,在Package Manager Console 输入以下命令:
Add-Migration UpdateProducts
Update-Database
完成後回到SSMS来看

Product 和 Category 的资料表就成功建好了


<<:  [Day4] 自我必备掌握力:了解公司的运作

>>:  人脸辨识的流程--特徵撷取

json档删除符合条件的特定事件该怎麽做?

大家好,我是用python程序 在输出json档之後想做两件事但没有头绪,希望有人可以帮我解惑。 以...

Day05 - 随意玩之 OrderCreate API

在昨天我们度过最大难关加密了,之後应该会轻松许多吧? API 呼叫流程如下 步骤 1, 2, 3 目...

How to fix Gmail not receiving emails on iPhone?

Are you encountering Gmail not receiving emails is...

JavaScript This

This JavaScript 的 This 会指向不同的对象,这依据函数如何被呼叫的。 当函数被呼...

帮 Line Bot 加上身份验证(1)

昨天我们让 Line Bot 可以成功回应使用者验证码了,但是这样只要任何人加入 Line Bot ...