Dot-Net-Core
如何在遷移期間使用 MigrationBuilder DeleteData 刪除所有行?
該文件不是很有幫助 - 只是一個函式簽名列表,其中最簡單的是:
public virtual OperationBuilder DeleteData(字元串表,字元串keyColumn,對象keyValue,字元串schema = null);
我相當確定我可以計算出 table、keyColumn 和 schema 中的內容,但是如果我想刪除所有行,我應該在 keyValue 中輸入什麼值?
看起來 DeleteData 操作並非旨在允許刪除表操作中的所有內容。EF 使用keyColumn 和keyValue 來確定要刪除的內容,即其中keyColumn = keyValue。我建議使用這樣的東西:
migrationBuilder.Sql("DELETE FROM [table]", true);<https://github.com/dotnet/efcore/blob/main/src/EFCore.Relational/Migrations/Operations/DeleteDataOperation.cs>
<https://github.com/dotnet/efcore/blob/main/src/EFCore.Relational/Migrations/MigrationBuilder.cs> (關於第1400行)