Значение не может быть нулевым - POST JSON - PullRequest
0 голосов
/ 24 января 2020

Я получаю сообщение об ошибке:

SystemArguementNullException: 'Значение не может быть нулевым. Имя параметра: entity '

Когда я покидаю раздел AR_Reliability, основные другие столбцы данных вставляются без ошибок.

public bool AddReport(Forms_Reports report)
{
    ctx.Forms_Reports.Add(report);
    ctx.SaveChanges();

    return true;
}

Мое JSON тело выглядит следующим образом:

[ 
   { 
      "AR_Reliability":[ 
         { 
            "Process_Consequence_Analysis":"Test_Pc HSS",
            "Reliability_Parameter_Deviations":"Test_Rp",
            "Equipment_Out_Of_Service":"Test_Eos",
            "Equipment_Returned_to_Service":"Test_Er",
            "Critical_Instrumentation_Failure":"Test_Ci",
            "Total_Equipment_Failure":"Test_Te",
            "Total_Single_Point_of_Failure":"Test_Spf",
            "Maintainence_Scheduled_or_InProgress":"Test_Mc",
            "Active_Permits":"Test_Ap",
            "Issues":"Test_I",
            "Inventory_Tank_Levels":"Test_It",
            "Stream_ID":null,
            "SPF_ID":null,
            "Ins_ID":null,
            "Eqp_ID":null,
            "DE_ID":1
         }
      ],
      "RoadClosures":"Test_Rc",
      "FirstMaintainStart":"Test_Fms",
      "PSR_AbnormalOperations":"Test_Ao",
      "FeedstockChanges":"Test_Fsc",
      "LineupChanges":"Test_Lc",
      "SafetyMeetings":"Test_Sm   ",
      "CR_AbnormalOperations":"Test_Ao",
      "HighPriorityAlarms":"Test_Hpa",
      "Impairment_to_fire_protection_systems":"Test_Ifp",
      "AlarmsInhibited":"Test_Ai",
      "FR_AbnormalOperations":"Test_Ao",
      "Maintenance":"Test_Mt   ",
      "CreatedDate":"2019-01-08T00:00:00",
      "UpdatedDate":"2019-01-08T00:00:00",
      "CreatedBy":"Dev HSS                                               ",
      "UpdatedBy":"Dev HSS                                               ",
      "Shift":"1    ",
      "Area_ID":1,
      "User_ID":1
   }
]

AR_Reliability - это связанная таблица в базе данных. Есть и другие связанные таблицы, но я просто пытаюсь добавить данные для этой одной таблицы в мою сущность.

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Ваш json выглядит как набор из одного элемента. Попробуйте это:

public bool AddReport(IEnumerable<Forms_Reports> reports)
{
   ctx.Forms_Reports.AddRange(reports);
   ctx.SaveChanges();

   return true;
}

и в этом случае было бы лучше переименовать метод в AddReports

0 голосов
/ 24 января 2020

Разве ваш JSON не является списком типов объектов и как вы можете получить данные в объекте?

public bool AddReport(List<Forms_Reports> report)
{
    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...