Używam funkcji migracji EF 4.3 do tworzenia skryptów migracji bazy danych. Kiedy biegnę Dodaj migracji komenda wygenerowany skrypt jest tworzony jako tak:EntityFramework Migration cascadeDelete Parametr
CreateTable(
"dbo.Recipients",
c => new
{
RecipientID = c.String(nullable: false, maxLength: 128),
SurveyRoundID = c.String(nullable: false, maxLength: 128),
LastUpdatedAt = c.DateTime(),
})
.PrimaryKey(t => t.RecipientID)
.ForeignKey("dbo.Employees", t => t.EmployeeID, cascadeDelete: true)
.ForeignKey("dbo.SurveyRounds", t => t.SurveyRoundID, cascadeDelete: true)
.Index(t => t.EmployeeID)
.Index(t => t.SurveyRoundID);
Mam problem jest, że migracja rusztowania wybrać cascadeDelete aby mogło być prawdziwe, chociaż Odbiorca jednostka nie jest panem relacji.
Na razie ręcznie zmieniam parametr cascadeDelete na false, ale chciałbym wiedzieć, dlaczego domyślnie wybiera on wartość true.
Dziękuję, Ido.
Czy wiesz, jak zdefiniować 'ON DELETE SET NULL' bez uciekania się do DDL z' Sql (..) 'w migracji? – JoeBrockhaus