2014-09-30 3 views
0

Я разрабатываю веб-приложение, и я делаю запросы к своей базе данных, чтобы донести информацию, с которой я работал правильно, но теперь что-то странное происходит.EF6 Code First Change Data Value

У меня есть CustomerRates таблицу, которая имеет следующие поля:

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

Я пытаюсь перенести данные и покрасить их в сетке, но когда я начинаю внимательно проверить значения не соответствуют тем, которые находятся в базе данных, я имею в виду информация приносит , но значения меняются, и это происходит только тогда, когда идентификатор клиента совпадает. Это происходит, и я не знаю, почему:

Первоначальная стоимость (один в таблице):

┌───────┬───────┬───────────┬────────────┬────────────┬─────────┬──────────────┬──────────────────┐ 
│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     │ 
└───────┴───────┴───────────┴────────────┴────────────┴─────────┴──────────────┴──────────────────┘ 

Value вернула меня после выполнения запроса:

┌───────┬───────┬───────────┬────────────┬────────────┬─────────┬──────────────┬──────────────────┐ 
│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     │ 
└───────┴───────┴───────────┴────────────┴────────────┴─────────┴──────────────┴──────────────────┘ 

Странным заключается в том, что с этой таблицей происходит только то, что остальные работают правильно.

Большое вам спасибо за помощь!

+1

Ваш запрос? – DLeh

+0

Является простым GetAll(), и я открываю sql-профайлер и проверяю запрос и нормально –

+0

Без какой-либо конкретной части кода это будет просто длинный снимок, но правильно ли вы используете свой DbContext? Это может быть EF, имеющий некоторые значения, кешированные и использующие их вместо свежего из базы данных. Но, как я писал, это просто предположение без фактического кода ... – tdragon

ответ

0

Действительно, я не знаю, почему эта ошибка возникает.

Моим решением было сделать шаг за шагом все несколько методов, которые использовались для вызова объекта мониторинга.

Когда я делаю таблицу карты и определить первичный ключ, поколение компании выглядит следующим образом:

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

Замените его следующим образом:

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

И принеси мне записи, как и должно быть.

По-прежнему не понимаю, почему. Большое спасибо за вашу помощь

Смежные вопросы