Book Image

C# 7 and .NET Core 2.0 Blueprints

By : Dirk Strauss, Jas Rademeyer
Book Image

C# 7 and .NET Core 2.0 Blueprints

By: Dirk Strauss, Jas Rademeyer

Overview of this book

.NET Core is a general purpose, modular, cross-platform, and open source implementation of .NET. With the latest release of .NET Core, many more APIs are expected to show up, which will make APIs consistent across .Net Framework, .NET Core, and Xamarin. This step-by-step guide will teach you the essential .NET Core and C# concepts with the help of real-world projects. The book starts with a brief introduction to the latest features of C# 7 and .NET Core 2.0 before moving on to explain how C# 7 can be implemented using the object-oriented paradigm. You'll learn to work with relational data using Entity Framework and see how to use ASP.NET Core practically. This book will show you how .NET Core allows the creations of cross-platform applications. You'll also learn about SignalR to add real-time functionality to your application. Then you will see how to use MongoDB and how to implement MongoDB into your applications. You'll learn about serverless computing and OAuth concepts, along with running ASP.NET Core applications with Docker Compose. This project-based guide uses practical applications to demonstrate these concepts. By the end of the book, you'll be proficient in developing applications using .NET Core 2.0.
Table of Contents (17 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Code-First versus Model-First versus Database-First approach


With Entity Framework, you can choose between three approaches of implementation, and it's always nice to have a choice. Let's have a quick look at the differences between them.

Code-First approach

The weapon of choice for hardcore programmers, this approach gives you full control over the database, from code. The database is seen a simple storage location and will most likely not contain any logic or business rules. Everything is driven from the code and thus any changes required need to be done in code as well:

Model-First approach

If you prefer painting over poetry, then you might prefer the Model-First approach. In this approach, you create or draw your model, and the workflow will generate a database script. You could also extend your model with partial classes, if there is a need to add specific logic or business rules, but it could become hairy and it might be better to consider the Code-First approach if there are too many...