Entity Framework에서 DbContext
이라는 새 인스턴스를 만들 때 데이터베이스에 대한 새로운 연결을 만들지 만?Entity Framework 5 DbContext 및 연결
1
A
답변
1
DavidG와 동의하면 아니요이 시점에서 연결을 만들지 않습니다.
연결 만 SaveChanges를()가 그 updates, inserts or deletes
수, 당신의 entities
로 만든
변경을 호출 할 때 지속되는 DbContext.SaveChanges()
메서드를 호출 할 경우에만 데이터베이스에 유지됩니다. SaveChanges()
메서드가 호출되기 전에 DbContext
인스턴스가 처리되면이 DbContext
을 통해 수행 된 inserts, updates or deletes
중 아무 것도 데이터 저장소에 저장되지 않습니다.
1
그래서 예를 들어이 코드를 가지고 :
var context = new MyContext();
var cars = context.Cars.Where(c => c.TopSpeed > 100);
var carList = cars.ToList(); //Connection will probably happen here
이 경우 연결이 시작된다? 사실 두 가지 가능성이 있습니다. 일반적으로 마지막 줄에는 연결 만 생성됩니다. 컨텍스트를 인스턴스화하는 데 부작용이없고 중간 선이 지연 실행을 사용하므로 아직 연결이 필요하지 않습니다.
그러나 두 번째 줄은 연결이 생성되도록합니다. 이것은 앱이 처음으로 돌아가고 Entity Framework가 이동해야하고 데이터베이스가 자신이 생각하는 것과 일치하는지 확인해야 할 때 발생합니다 있다. 다음과 같이 이니셜 라이저를 비활성화하여 비활성화 할 수 있습니다.
Database.SetInitializer<MyContext>(null);
데이터베이스 작성은 어떻습니까? 글쎄, 당신은 비슷한 일이 벌어 가지고 있지만 연결이 필요한 유일한 시간이며이 시간 당신은 SaveChanges
를 호출 할 때 :
var context = new MyContext();
var ferarri = new Car { Name = "Ferarri", TopSpeed = 170 };
context.Cars.Add(ferarri);
context.SaveChanges(); //Connection will probably happen here
모든인가요? 당신이 트랜잭션을 시작할 때 어떤 글쎄, 당신은 또한 새로운 연결을 얻을 것이다 :
이
//Database connection will be opened here
using (var transaction = context.Database.BeginTransaction())
{
var cars = context.Cars.Where(c => c.TopSpeed > 100);
var carList = cars.ToList();
}
관련 문제
- 1. Entity Framework 4.3.1 DBContext 연결
- 2. Entity Framework 및 DBContext 문제
- 3. Entity Framework 5 다중 데이터베이스
- 4. Entity Framework 및 DbContext - 개체 추적
- 5. StructureMap, ASP.NET 및 Entity Framework DbContext dispose
- 6. Entity Framework 6.1의 DbContext 조롱
- 7. Entity Framework DBContext Generator의 목적
- 8. Entity Framework DbContext 가져 오기
- 9. C# Entity Framework 4.3 DbContext
- 10. Azure 웹 역할의 Entity Framework DbContext
- 11. 트랜잭션이없는 Entity Framework 5
- 12. Entity Framework RC1 DbContext 쿼리 문제
- 13. "프로그래밍 Entity Framework : DbContext"예제를 실행하는 방법?
- 14. Entity Framework 5
- 15. Entity Framework - 서로 다른 연결 문자열을 사용하는 동일한 DbContext 사용
- 16. Entity Framework, DbContext, SaveChanges() 작동하지 않습니다.
- 17. 다른 데이터베이스와 호환되는 Entity Framework DbContext
- 18. Entity Framework 4.1 DbContext 생성기 문제
- 19. Entity Framework DbContext app.config/web.config의 연결 문자열이 보이지 않습니다.
- 20. Entity Framework 5 : DbGeography
- 21. MVC, Entity Framework DBContext connection in Global.asax
- 22. Entity Framework 5 ID 삽입
- 23. Entity Framework 5 SqlQuery 느린 구체화
- 24. Entity Framework - 연결 집합
- 25. Entity Framework 연결 문자열 문제
- 26. Entity-Framework 파생 dbContext 구성 예외
- 27. Entity Framework 6에서 INotifyPropertyChanged 사용 DbContext 생성자
- 28. PowerShell을 사용하여 Entity Framework DbContext 만들기
- 29. Entity Framework 5 : 지연로드 또는 지연로드 사용
- 30. Entity Framework 5 및 XElement 필드
이 5 월 도움을 .. [DbContext] (http://mehdi.me/ambient-dbcontext-in-ef6/) –