EF Core 5

In my second week at Tong Hin, I started up by studying object-oriented programming (OOP) and learnt that OOP is a programming paradigm that is widely used in C#. It is a way of programming that focuses on creating objects that interact with each other to accomplish tasks. In OOP, objects are created from classes, which define their properties and behaviors.

The main concepts of OOP in C# include encapsulation, inheritance, and polymorphism. Encapsulation is the practice of hiding data and methods within an object, so that they cannot be accessed from outside the object. As for Inheritance is a concept that allows classes to inherit properties and methods from other classes where inheritance creates a hierarchy of classes, with each class having a parent class, except for the root class, which has no parent. Inheritance also enables developers to create new classes based on existing classes (parent class). Thus, reducing code duplication and promoting code reuse. The derived class inherits all the properties and methods of the parent class, and can also add new properties and methods.

Later on the same week, I started to go through another module which is Entity Framework (EF), it is an object-relational mapping (ORM) framework for .NET applications that provides a simplified approach to working with databases, and the latest version, Entity Framework Core 5 (EF Core 5), offers several new features and improvements compared to the earlier versions. When I first started learning Entity Framework, I was impressed by its ability to simplify data access by mapping database tables to classes and providing a LINQ-based query syntax. EF made it easy to create, read, update, and delete records in a database without needing to write complex SQL statements. I also learnt that EF Core is cross-platform support where it can run on multiple operating systems, including Linux and macOS. This makes it easier to develop and deploy applications on a wider range of platforms. 

Another significant feature in EF Core 5 is its support for multiple databases. While EF only supports Microsoft SQL Server, EF Core 5 supports a variety of databases, including PostgreSQL, MySQL, SQLite, and more. As a result, working with various data sources is made simpler without the need to learn additional frameworks or languages.

Overall, EF Core 5 is a valuable tool for developers who need to work with data in .NET applications. It simplifies the process of data access and provides a range of features to enhance performance and improve developer productivity.

My First Week at Tong Hin

In my very first week at Tong Hin Company, I was thrilled to finally join the team, and my eagerness to gain knowledge was at its peak. On the first day, I was given a task by Mr Peter to learn and understand Git, which is a powerful, sophisticated system for distributed version control. Gaining an understanding of its features opens to developers a new and liberating approach to source code management.

The second day, my next task here was to learn C#. I had some prior knowledge of programming languages. However, I had never learnt the C# language and I thought C# was a really interesting one. C# is a popular programming language developed by Microsoft, and it’s widely used for developing software apps and games for Windows and many more. Although my previous experience with other programming languages made it easy for me to understand the fundamentals, getting a hang of C# still took a lot of effort.

I spent hours at the online course sessions, understanding the logic behind syntaxes and understanding the structures of C# and I learnt that C# is an object-oriented programming language, and as such, its programming model is based on classes and objects. I also learnt about how to create classes, objects, and methods, and how to use them to achieve their programming goals. As a developers, you can’t just understand C# in theory, so I also spent time experimenting through the language in the Microsoft Visual Studio. However, there’s still much more that needs to be learnt and practiced so that I can master the understanding. The first few days were challenging, but I didn’t let the difficulties of learning discourage me. 

In conclusion, my first week at TongHin was a fascinating and educational experience. I was able to learn the basics of C# programming language. Though there’s still a lot more to learn, I’m excited to learn more and improve my understanding of how to build software applications efficiently and also to expand my skill set continually.