Permettez-moi de prendre des photos à ceci:
À croire que personne n'aimerait être à Moteur SQL(R/DBM) spécifiques. J'ai continué à faire quelques suppositions:
Depuis la suppression de/suppression de toutes les lignes est le but. Ses plus probable qu'il ne sera pas fait si souvent.
Et si elle l'est, c'est probablement un petit jeu de données.
Puis de performance "ne devrait pas" être un tel problème, Et nous pouvons tout simplement:
public class VotingContext : DbContext
{
public DbSet<Poll> Polls{get;set;}
public DbSet<Vote> Votes{get;set;}
public DbSet<Voter> Voters{get;set;}
public DbSet<Candidacy> Candidates{get;set;}
}
VotingContext.Votes.RemoveRange(VotingContext.Votes)
ce qui peut être fait "mieux" via:
public static void Clear<T>(this DbSet<T> dbSet)
{
dbSet.RemoveRange(dbSet)
}
Ensuite, nous pouvons:
VotingContext.Votes.Clear();
VotingContext.Voters.Clear();
VotingContext.Candidacy.Clear();
VotingContext.Polls.Clear();
await VotingTestContext.SaveChangesAsync();
J'ai récemment utilisé cette approche pour nettoyer ma base de données de test pour chaque cas de test à exécuter (il est plus rapide que de les recréer la DB de scrath à chaque fois, même si je n'ai pas de vérifier la forme de la suppression des commandes qui ont été générés).
Cheers! ;)