2013-10-09 4 views
0

나는 vs2013을 사용하여 wpf 데스크톱 응용 프로그램을 개발 중입니다. 그리고 데이터베이스로 sqlite를 사용하고 있습니다. 데이터베이스 작업을 수행하기 위해 dbcontext 클래스를 사용하고 있습니다. 이제이 프로 시저를 사용하여 클래스 전체에 데이터베이스 개체가 있고이 개체에서 작업을 수행합니다 (내 이해가 핵심이되기를 바랍니다). 작업을 수행 한 후 해당 개체를 가비지 수집합니다. 내 DB 크기가 1GB로 증가하면 어떻게 될까요? 이 절차를 사용하는 것이 좋은 생각입니까? 다른 아랍어는 무엇입니까?wpf에서 dbcontext 사용

답변

0

Entity Framework는 전체 데이터베이스를 메모리로로드하지 않습니다. DbContext는 사용할 때 SQL 쿼리를 수행하므로 증가하는 데이터베이스에 문제가 없어야합니다. 거대한 SQLite 데이터베이스의 성능에 대해서는 잘 모릅니다. 그것에 대한 약간의 관점을 보려면 this question을보십시오.

+0

확인, 확인을 위해 단지 다시 :이 코드했습니다 : 사용하여 (VAR 컨텍스트 = 새로운 TeamSystemContext()) a.TeamId는 == 페이지 참조를 선택 context.TeamTags 에서에서 { var에 태그 =; return tags.ToList(); } 컨텍스트 개체에 중단 점을 놓고 살펴보고 전체 데이터베이스 개체를 보여줍니다. 그래서 전체 데이터베이스가 메모리에로드되었다고 생각했습니다. 여기서 내가 잘못 이해하고있는 것은 무엇입니까? – androider

+0

컨텍스트 *는 전체 데이터베이스를 나타냅니다. 데이터 자체는 필요한 경우에만로드됩니다 (코드에서 'ToList'를 호출 할 때). –

+0

Ahh Okk, 고맙습니다. !!! – androider