Get up to 80 % extra points for free! More info
This week up to 80% off on Java courses. More info

Lesson 3 - E-shop in ASP.NET Core MVC - Products and categories

In the previous lesson, E-shop in ASP.NET Core MVC - Identity, database, and layout, except for other things, we looked at controlling how the database is generated using migrations. In today's ASP.NET Core tutorial, we're going to extend our data model and add two basic entities - Products and Categories.


Those are, of course, the basis of every e-shop. Our product will consist of the following attributes:

  • ProductId (int) - The product ID, primary key, autoincrement
  • Code (nvarchar 255) - Barcode for the merchant (e.g. EAN or anything else)
  • Url (nvarchar 255) - URL address of the product (e.g. green-flowerpot-ella) for better SEO optimization
  • Title (nvarchar 255) - Product title
  • ShortDescription (nvarchar 255) - A short description that will go to the HTML meta tag
  • Description (text) - A longer description for the product detail page, may contain HTML markup
  • Price (decimal(10,1)) - Product price
  • OldPrice (decimal(10,1)) - The old product price (if discounted)
  • Stock (int) - The number of items in stock
  • ImagesCount (int) - The number of pictures of the product
  • Hidden (bit) - Indicates whether the product is hidden (1/0, see below).

The only column that isn't mandatory (can be null) is OldPrice.

Data model

In the data project, add a new Product class to the Models/ folder and make it public (as well as all other data model classes). We'll add the class properties as listed above and attach attributes which we'll explain in a moment:


...End of the preview...
Continue further

You will gain knowledge worth hundreds of thousands for a few crowns

You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.

Limited offer: Learn all knowledge and save money

Buy all currently available lessons with exercise submitting and other features for an exclusive price $75.78
Current account balance $0
By buying this exclusive package, you'll have access to all 34 lessons in this course including exercise submitting while saving $13.32. This offer is limited for the first lessons only with an additional exclusive 15% discount.

Before buying this article, you have to buy the previous one

This article is licensed: Premium no-reselling II, by buying this article, you agree with the terms of use.

Commercial article (licence no-reselling)

Commercial article (licence no-reselling)

This article is based on many years of experience in the IT field, and describes how to develop a professional commercial product or parts, that can be directly used to generate profit or to get as a gate into the industry.

This knowledge is only for the members of our community who are working their way up to become IT professionals. Therefore, this knowledge is only available in exchange for credits. You can use the source code from this article for one commercial project. However, you will not be able to resell it. Simply put, you can't buy our article once and then sell our code multiple times. If you need to use this code a bit more extensively, we are ready to discuss Commercial licence options with you. You can find more info on this in the following article Licence.

Are you ready to become a professional? All you have to do is click here!.

Article description

Requested article covers this content:

In this ASP.NET tutorial, we'll create data models for products and categories, add DataAnnotation attributes to the properties and modify the DbContext.

You gain credits by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.

Article has been written for you by Martin Petrovaj