2015-01-10 2 views
0

TRUNCATE를 사용하여 테이블을 지우는 방법을 살펴 보았지만이 방법은 외래 키로 참조되지 않는 테이블에서만 작동합니다.Entity Framework에서 FK 제약 조건이있는 테이블 비우기

나는 또한 모든 데이터의 범위를 찾고 그 범위를 삭제하는 방법을 발견했다. 그러나 이것은 다소 덜 효율적인 방법이며 더 나은 대안이 있다면 그것을 피하고 싶습니다.

이 2 개의 표를 비우는 가장 효율적인 방법은 무엇입니까? Entity Framework. Delete all rows in table

확인 커뮤니티 위키 답변 :

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; } 
} 

내가 엔티티 프레임 워크 6.1.2 및 LocalDB의

+0

프로그래밍해야합니까 (표를 지우십시오)? 또는 무엇을? –

+0

'AfdelingId' 또는'ProductId'에 의존하는 것이 있습니까? – Justin

+0

나는 그것을 C# 코드에 넣고 싶지만 직접 작동하는 SQL을 사용할 수있다. 제품에 또 다른 FK가 있습니다. – SpiritBH

답변

1

중복과 더불어, .NET 4.5 WPF 프로젝트에서 비주얼 스튜디오 2013 얼티밋을 사용하고 있습니다.

public static void Clear<T>(this DbSet<T> dbSet) where T : class 
{ 
    dbSet.RemoveRange(dbSet); 
} 

그런 다음 물론

DbContext.Afedlings.Clear(); 
DbContext.Products.Clear(); 
await VotingTestContext.SaveChangesAsync(); 

당신이 관계를 추적 할 수 있다고 가정. 건배.

+0

오, 고마워, 미안해. – SpiritBH

관련 문제