> For the complete documentation index, see [llms.txt](https://syllabus.migracode.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://syllabus.migracode.org/courses/advanced-js-and-asp.net-course/self-study-prerequisites/index.md).

# Index

## Table of Content

### Dot Net

1. Introduction to the .Net
2. Understanding .NET and the CLR (Common Language Runtime)
3. What kind of applications can be developed with .NET
4. Differences between the .NET Framework and .NET 5
5. What is .NET Standard?
6. Create libraries in .NET Standard and how to use them in different runtimes
7. Evolution of .NET from its appearance to version 1.0
8. Garbage collector in .NET
9. What's New in ASP.Net Core 3.0
10. What's New in .Net 5
11. .Net 5 SDK Installation
12. Create .Net 5 project
13. Introduction to VS
14. Installing Visual Studio 2019 Community
15. Introduction to Visual Studio 2019 Community
16. How to create console application in Visual Studio 2019 Community
17. Compile and run our first application

### C# Language

1. Introducing C#&#x20;
2. Why C#?&#x20;
3. C#’s Defining Features&#x20;
4. Managed Code and the CLR&#x20;
5. Basic Coding in C#&#x20;
   1. Local Variables Scope&#x20;
   2. Statements and Expressions&#x20;
   3. Comments and Whitespace&#x20;
   4. Fundamental Data Types&#x20;
      1. Numeric Types&#x20;
      2. Booleans&#x20;
      3. Strings and Characters&#x20;
      4. Object&#x20;
   5. Operators&#x20;
   6. Flow Control&#x20;
      1. Boolean Decisions with if Statements&#x20;
      2. Multiple Choice with switch Statements&#x20;
      3. Loops: while and do&#x20;
      4. C-Style for Loops&#x20;
      5. Collection Iteration with foreach Loops&#x20;
6. Collections&#x20;
   1. Arrays&#x20;
      1. Array Initialization&#x20;
      2. Searching and Sorting&#x20;
      3. Multidimensional Arrays&#x20;
      4. Copying and Resizing&#x20;
   2. List\<T>
7. Types&#x20;
   1. Classes&#x20;
      1. Static Members&#x20;
      2. Static Classes&#x20;
      3. Reference Types&#x20;
   2. Structs&#x20;
      1. When to Write a Value Type&#x20;
      2. Guaranteeing Immutability&#x20;
   3. Members&#x20;
      1. Fields&#x20;
      2. Constructors&#x20;
      3. Deconstructors&#x20;
      4. Methods&#x20;
      5. Properties&#x20;
   4. Interfaces&#x20;
      1. Default Interface Implementation&#x20;
   5. Enums&#x20;
8. Generics&#x20;
   1. Generic Types&#x20;
   2. Constraints&#x20;
      1. Type Constraints&#x20;
      2. Reference Type Constraints&#x20;
      3. Value Type Constraints&#x20;
      4. Value Types All the Way Down with Unmanaged Constraints&#x20;
      5. Not Null Constraints&#x20;
      6. Other Special Type Constraints&#x20;
      7. Multiple Constraints

### MVC architecture

1. What is MVC?
2. How MVC Design Pattern Works?
3. Understanding Model, View, and Controller.
4. Where the MVC Design Pattern is used in the real-time three-layer application?
5. What is ASP.NET Core MVC?

### Entity Framework

1. Introduction to Entity Framework Core
2. What is Entity Framework Core?&#x20;
3. What is ORM?&#x20;
4. Why do we need to use an ORM?&#x20;
5. EF Core Development Approaches.&#x20;
6. EF Core Code First Approach&#x20;
7. Entity Framework Core Database First Approach&#x20;
8. EF Core Database Providers&#x20;
9. Why need to use Entity Framework Core over EF 6.x?


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://syllabus.migracode.org/courses/advanced-js-and-asp.net-course/self-study-prerequisites/index.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
