Таблица не обновляется в EF при обновлении с помощью вызова SQL? - PullRequest
0 голосов
/ 13 декабря 2010

У меня проблема с EF и SQL. У меня есть сумасшедший сохраненный процесс, который плохо переводится в код C # (EF / LINQ). По сути, я вызываю хранимый процесс с помощью вызовов SqlConnection и SqlCommand (System.Data.SqlClient) [см. Ниже], а затем извлекаю данные из таблицы с помощью EF. Это происходит снова и снова, пока основной стол не будет исчерпан. (У меня есть главная таблица с несколькими сотнями тысяч записей, и сохраненный процесс извлекает небольшую часть этого и помещает ее в таблицу для обработки, после обработки эти записи удаляются из главной таблицы, и она повторяется до тех пор, пока основной стол был полностью обработан).

Проблема в том, что таблица никогда не обновляется в C #, но она обновляется в бэкэнде.

Итак, вот SQL Call:

 SqlConnection sqlConn;
   SqlCommand sqlCommand;

   using (sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["AppMRIConnection"].ConnectionString))
    {
        using (sqlCommand = new SqlCommand(String.Format("EXEC sp_PullFinalDataSetPart '{0}', '{1}'", sLocation, sOutputFileType), sqlConn))
        {
            sqlConn.Open();
            sqlCommand.ExecuteNonQuery();
            sqlConn.Close();
        }
    }

Это усекает таблицу FinalDataSetPart и перезагружает ее с X новыми записями.

Это вызов в C #

List<FinalDataSetPart> lstFinalPart = db.FinalDataSetPart.ToList();

Этот вызов ВСЕГДА загрузит первую таблицу finaldatasetpart независимо от того, что на самом деле находится в таблице. Этот вызов правильно внутри цикла (я могу взломать код и увидеть, что он вызывает этот метод на каждой итерации цикла).

Кто-нибудь видел что-нибудь подобное раньше?!

Любые мысли / помощь / советы будут с благодарностью.

Спасибо!

1 Ответ

0 голосов
/ 16 декабря 2010

Изменяются ли идентификаторы во временной таблице при извлечении новых данных? EF не обнаружит изменения в данных, если основной идентификатор не изменится.

Вы возвращаетесь и воссоздаете контекст каждый раз, когда получаете новые данные?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...