2014-09-30 3 views
0

웹 응용 프로그램을 개발 중이며 올바르게 작동 한 정보를 가져 오기 위해 데이터베이스에 쿼리를 만들고 있습니다.하지만 이상한 일이 발생했습니다. EF6 코드 첫 번째 변경 데이터 값

나는 다음과 같은 필드가있는 CustomerRates 테이블을 가지고 :

  • svCode
  • svRateDisc
  • svBasicDisc
  • svMinCharge
  • svFutile
  • svWaitingTime
  • 을 Cus_ID
  • svWaitingTimeFree

내가 데이터를 가져오고 그리드에서 그들을 칠하기 위해 노력하고있어,하지만 난 조심스럽게 데이터베이스에있는 것과 일치하지 않는 값을 검토하기 시작할 때, 내 말은 정보 제공 값은 변경되며 클라이언트 ID가 동일 할 때만 발생합니다. 이 일어나고 난 왜 몰라 :

원래 값 (테이블의 하나) :

┌───────┬───────┬───────────┬────────────┬────────────┬─────────┬──────────────┬──────────────────┐ 
│Cus_ID │svCode │svRateDisc │svBasicDisc │svMinCharge │svFutile │svWaitingTime │svWaitingTimeFree │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│21901 │FLW │0.4  │5   │7   │12  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│20650 │FLW │0.4  │5   │7   │12  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│20650 │FLW │0.4  │5   │7   │12  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│20650 │FLW │0.4  │5   │7   │12  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│20995 │C250 │1.2  │10   │20   │25  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│21371 │FLW2 │0.51  │6.2   │8.5   │10  │0    │0     │ 
└───────┴───────┴───────────┴────────────┴────────────┴─────────┴──────────────┴──────────────────┘ 

이상한 것은 :

┌───────┬───────┬───────────┬────────────┬────────────┬─────────┬──────────────┬──────────────────┐ 
│Cus_ID │svCode │svRateDisc │svBasicDisc │svMinCharge │svFutile │svWaitingTime │svWaitingTimeFree │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│21901 │FLW │0.4  │5   │7   │12  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│20650 │FLW │0.4  │5   │7   │12  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│20650 │STD │0.7  │5.5   │7.5   │15  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│20650 │C250 │1.4  │11   │22   │25  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│20995 │C250 │1.2  │10   │20   │25  │0    │0     │ 
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤ 
│21371 │FLW2 │0.51  │6.2   │8.5   │10  │0    │0     │ 
└───────┴───────┴───────────┴────────────┴────────────┴─────────┴──────────────┴──────────────────┘ 

값 쿼리를 수행 한 후 저를 반환 이 테이블에서만 다른 사람들이 올바르게 작동한다는 것입니다.

도움 주셔서 감사합니다.

+1

무엇이 검색어입니까? – DLeh

+0

간단한 GetAll()이고 SQL 프로파일 러가 열려 있고 쿼리를 확인하고 OK입니다 –

+0

코드의 특정 부분이 없으면 그냥 길게 표시되지만 DbContext를 올바르게 처리합니까? 이것은 EF가 일부 값을 캐시하고 데이터베이스의 새로운 값 대신 사용하는 것일 수 있습니다. 하지만, 내가 쓴 것처럼, 그것은 실제 코드가 없으면 단지 추측 일뿐입니다 ... – tdragon

답변

0

정말이 오류가 생성 된 이유를 알 수 없습니다.

제 해결책은 모니터링 엔티티에 전화를 걸 때 사용되는 몇 가지 방법마다 단계별로 수행하는 것이 었습니다.

this.HasKey (t => t.svCode);

을 그리고 가지고 :

this.HasKey (t => t.Cus_ID);

이로 교체 : 나는 맵 테이블을 만들고 기본 키를 정의 할 때 다음과 같이

, 회사의 발전입니다 나야 그걸로 기록을 ..

아직도 이해가 안 돼요. 도움 주셔서 대단히 감사합니다.

관련 문제