2016-06-03 3 views
0

현재 유형이 생성 된 엔티티 중 하나 인 경우 X 유형의 일반 세트를 사용합니다. 데이터를 가져 오기 위해 내 일반적인 세트를 얻으려면 내가 (던져 세트에하고 (예를 들어) 뭔가를 할 것입니다 0이 있다면 얼마나 많은 요소를 계산하는 간단한 검사를 실행하고 지금이일반 설정 가능한 버그?

var entityData = db_entities.Set(EntityType); 

을 예외, 리디렉션 등). 내가 (코드 아래 사용)은 다음과 같이 간다 목록에 얼마나 많은 요소를 계산 할 때 문제는

if (entityData.Local.Count == 0) { } 

내가 정확히 내가를 확장 할 때 임의의 값이없는 Local을 무슨 일이 일어나고 있는지보고 디버깅

results view 11 개의 데이터 (예 :)가 표시되고 Local은 데이터를 새로 고치고 표시합니다. 내가 잘못한 일을하거나 버그인지 궁금해.

편집
는 나는 대답 또는 다른 방법

var countItems = 0; 

     foreach (var item in entityData) 
     { 
      //this was added due to a bug when counting the dbSet items 
      //will exist after looping first item 
      countItems++; 
      break; 
     } 

     if (countItems == 0) {} 

답변

1

DbSet.Local의 희망,이를 이용하여 작동하지 않는 논리를 변경 이미로드 된 개체가 포함되어 있습니다. 따라서 Set을 만들고 Local.Count을 읽을 때는 아직 아무것도로드되지 않았으므로 0이어야합니다.

디버그보기에서 결과를 확장하면 데이터가 데이터베이스에서로드되므로 Local에 엔티티도 포함됩니다.

당신은로드 할 수 Set 기준 :

var entityData = db_entities.Set(EntityType); 
entityData.Load(); 

이제 Local.Count 데이터베이스에있는 항목의 실제 수를 표시 것을 볼 수 있습니다.