Book Image

Code-First Development with Entity Framework

By : Sergey Barskiy
Book Image

Code-First Development with Entity Framework

By: Sergey Barskiy

Overview of this book

<p>Entity Framework Code-First enables developers to read and write data in a relational database system using C# or VB.NET. It is Microsoft's answer to demand for an ORM from .NET developers.</p> <p>This book will help you acquire the necessary skills to program your applications using Entity Framework. You will start with database configuration and learn how to write classes that define the database structure. You will see how LINQ can be used with Entity Framework to give you access to stored data. You will then learn how to use Entity Framework to persist information in a Relational Database Management System. You will also see how you can benefit from writing ORM-based .NET code. Finally, you will learn how Entity Framework can help you to solve database deployment problems using migrations.</p>
Table of Contents (15 chapters)
Code-First Development with Entity Framework
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using the migrations API


Let's add non-nullable date property:

public DateTime DateAdded { get; set; }

This is how the new property looks in VB.NET:

Property DateAdded() As DateTime

We want this new column to default to the current date. If we update our database again, we will see that the new column will have a default of 1/1/1900. This is not what we want, and here is when we need to switch to explicit migrations. In general, explicit migrations are more flexible than automatic ones. Although we need to write more code, we have far more control over the flow of migrations, their names, and the rollback process. If we start mixing the two approaches, we may get confused. For example, we would have to search the project to see if a column was added by automatic or manual migration. So, in order to provide consistency and for maintenance purposes, we may want to standardize on explicit migrations, and at that point, we should disable automatic migrations.

In order to get started with this approach...