我环顾四周,找到了使用TRUNCATE清除表的方法,但这只适用于未被引用为外键的表。
我还找到了一种方法,它描述了查找所有数据的范围,然后删除该范围。然而,这是一种效率较低的方式,如果有更好的替代方案,我希望避免使用它。
清空这两个表的最有效方法是什么?
public class Product
{
public int ProductID { get; set; }
public String ProductNaam { get; set; }
[ForeignKey("Afdeling")]
public int? AfdelingID { get; set; }
public virtual Afdeling Afdeling { get; set; }
}
public class Afdeling
{
public int AfdelingId { get; set; }
public string Naam { get; set; }
}
我在.net 4.5 WPF项目中使用Visual Studio 2013 Ultimate,包含Entity Framework 6.1.2和LocalDB
答案 0 :(得分:1)
重复:Entity Framework. Delete all rows in table
检查社区维基的答案。
public static void Clear<T>(this DbSet<T> dbSet) where T : class
{
dbSet.RemoveRange(dbSet);
}
然后
DbContext.Afedlings.Clear();
DbContext.Products.Clear();
await VotingTestContext.SaveChangesAsync();
当然假设您可以跟踪关系。欢呼声。