отрицание в lambda выражении и Entity c#

у меня есть маленький недостаток, я пробую делать одну сравнительной данных, делаю утверждение объекта с информацией, которую я добавляю пока я трачу услугу домашнее животное... introducir la descripción de la imagen aquí

Информация есть существующие какие-то в sql и другие, которые будут присоединяться с проходить дней, я пробую санкционировать эту информацию с выражением lambdas и в момент сохранения вышеупомянутой информации (если он находится или нет) введи и сохраняй изменения...

if ( entities.proveedores.Any(x => x.pro_codigosap != (prove.pro_codigosap)))

                {
                    entities.SaveChanges();

                }

делать это таким, лента "True" и пробует сохранять изменения в BD, но как эта дата существует и - единственный код, бросает ошибку ForeKey.

если добавил этот код:

if ( entities.proveedores.Any(x => !x.pro_codigosap.Equals(prove.pro_codigosap)))
{
   entities.SaveChanges();
}

равного способа войди и он бросает мне ошибку.

То, что я действительно нуждаюсь в том, чтобы сделать, состоит в том, чтобы санкционировать информацию моего obj prove против моей даты таблицы поставщики.

для того, чтобы api знал, когда он должен сохранять информацию, и когда нет.

Спасибо!.

0
задан 07.11.2019, 21:41
2 ответа

Ты должен менять способ формулировать ты if , так как в первом ты ищешь, если есть что-то, у чего было бы codigoSap различные тогда это не evalГєa, что у тебя был тот же самый для того, чтобы он удался. И во втором правда в том, что я не понимаю, что он отрицает ahГ - сделав equals. Мое предложение состоит в том, чтобы ты искал с .Any () , если уже он содержит этот cГіdigo, и в главном if отрицай это для того, чтобы Гєnicamente ты между, когда Any возвратит тебе фальшиво (что не существует этот cГіdigo)

if (!entities.proveedores.Any(x => x.pro_codigosap == prove.pro_codigosap))
{
    entities.SaveChanges();
}
0
ответ дан 01.12.2019, 12:21
  • 1
    Он добавил count > 0, чтобы знать, существует ли он в bd, а делать save, но, как кажется, существует реестр, который не появляется у меня в bd, но está в дате, которую я называю, когда он делает save (inserció n) он говорит, что уже эта дата существует и говорит: " Violation of PRIMARY KEY constraint ' PK_proveedores'. Cannot insert удвойся key in object ' dbo.proveedores'. The удвойся key оцените is (0).\r\nThe statement ты существуешь been terminated. – Laborit 08.11.2019, 17:57

LogrГ© решать это, оказывается, что habГ - в реестр, что ошибка показывает, что эта informaciГіn уже существует, но не в SQL Server, но если он приходит из ответа API, он размещает один

 Try {
        entities.SaveChanges();
        client.Close();
} catch { return "No reventó...";  }

для того, чтобы он продолжал выполнять и terminarГЎ asГ - была ошибка.

ВЎGracias во все!.

0
ответ дан 01.12.2019, 12:21

Теги

Похожие вопросы