이 코드입니다. 또는 아무것도 수행하지 마십시오 .. db는 DbContext 개체를 상속받습니다.
나는 해결책
foreach (var item in db.Sessions)
{
db.Sessions.Remove(item);
}
db.SaveChanges();
를 발견했습니다하지만 확실히 프로그래머에게 더 좋은 방법입니다.
감사합니다.
이 코드입니다. 또는 아무것도 수행하지 마십시오 .. db는 DbContext 개체를 상속받습니다.
나는 해결책
foreach (var item in db.Sessions)
{
db.Sessions.Remove(item);
}
db.SaveChanges();
를 발견했습니다하지만 확실히 프로그래머에게 더 좋은 방법입니다.
감사합니다.
SqlQuery
:
당신은 테이블에서 모든 행을 삭제하려는 경우,이 질문은 이것의 중복 테이블이 다른 뭔가가 필요합니다
db.DataBase.ExecuteSqlCommand("drop table sessions");
: 어떤 DDL/DML 쿼리를 실행할 수있는
DbContext.Database 재산의 사용으로
을
나는 또한 생식을 만들었으며 그것은 SQL Server2008의와 EF4.3.1와 함께 잘 작동 것 :
using (var db = new EFRepros())
{
db.Sessions.Add(new Session() { Name = "Test1" });
db.Sessions.Add(new Session() { Name = "Test2" });
db.Sessions.Add(new Session() { Name = "Test3" });
db.SaveChanges();
Console.WriteLine(db.Sessions.Count()); // Output: 3
db.Database.ExecuteSqlCommand("delete from sessions");
//db.Database.ExecuteSqlCommand("truncate table sessions"); //this also works
Console.WriteLine(db.Sessions.Count()); // Output: 0
}
참고 : EF 기본 사용 plurar 테이블 이름으로 당신이 세션를 사용할 필요가 있도록.
테이블을 삭제하려고합니까? 그렇다면 SqlQuery
호출을 통해 호출 할 수 없습니다. 이름에서 알 수 있듯이 해당 메서드는 쿼리를 엄격하게 처리하기 때문입니다. 제거하려는 경우 이름 쿼리를 실행하는 경우에만 의미로
ExecuteCommand 함수가 없습니다. – Nir
유효한 SQL이 아닙니다. – SLaks