I am using EF6 for storing instances of the report class in my database. The database already contains data. Say I wanted to add a property to report,
public class report {
// ... some previous properties
// ... new property:
public string newProperty{ get; set; }
}
Now if I go to the package-manager console and execute
add-migration Report-added-newProperty
update-database
I will get a file in the '/Migrations' folder adding a newProperty column to the table. This works fine. However, on the older entries in the database, the value for the newProperty is now an empty string. But I want it to be, e.g., "old".
So my question is: How do I set default values for new properties (of any type) in the migration script (or elsewhere)?

WITH VALUESto specify the value of existing records (see this question). The workaround given in answers here is to make the column non-nullable. Another alternative is to define a custom DefaultValue attribute such as this.