получение данных из БД в список - PullRequest
0 голосов
/ 25 октября 2018

У меня есть данные в таблице, у которой нет первичного ключа в SQL.В модели Entity Framework я устанавливаю PK в acol (хотя для некоторых значений acol есть несколько строк).

данные хранятся следующим образом

AAATable
    acol bcol 
    124   125 
    124   126

У меня такой запрос

        var AAATableList = (from tdrc in db.AAATable
                                      where tdrc.acol == id
                                      select tdrc).ToList();

Затем я делаю цикл для записи данных

        foreach (var itemB in AAATableList)
        {
            Logger.WriteLog("AAATable.txt", itemB.bcol.ToString());               
        }

Конечно, в таблице 2 строки, поэтому 2 записи я записал в журнал, но значение записывается следующим образом

125

125

Вместо 125 126

ОБНОВЛЕНИЕ

AAATable.Count() возвращает 2

AAATable.First().bcol.ToString() возвращает 125

AAATable.First().acol.ToString() возвращает 124

AAATable.Last().bcol.ToString() возвращает 125

AAATable.Last().acol.ToString() возвращает 124

Идея заключается вчтобы получить 125 и 126 значение во время цикла foreach, но вместо этого я получаю 125 и 125

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Я попробовал ваш код, и он работает,

, просто убедившись, что вы поставили два основных ключа для acol и bcol в модели EF

enter image description here

0 голосов
/ 25 октября 2018

и в модели Entity Framework я устанавливаю PK в acol.так может быть, это ответ?

Да, это причина проблемы.Вы сказали Entity Framework, что acol был PK, но ваши данные выглядят так:

AAATable
    acol bcol 
    124   125 
    124   126

Другими словами, вы солгали Entity Framework (вы сказали, что на значение 124 приходилась только одна запись) ион поймал вас во лжи.:)

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