Случилось так, что НЕ действительно является ошибкой Entity Framework Core, хотя я бы определенно утверждал, что Entity Framework мог бы лучше обрабатывать наборы результатов, чтобы выяснить, что на самом деле происходит, или выдать более информативную ошибку, позволяющую вамзнаю, что в наборе результатов, который он просматривал и возвращал, не было запрошенного вами запроса.
Спасибо Дэвиду за помощь в выяснении этого - я не уверен, что подумал бы о создании новогоструктура таблицы, которая имитировала старую таблицу, чтобы увидеть, что она действительно работает.
Ошибка возникла из-за триггера в базе данных - этот триггер выполнял хранимую процедуру, которая развернулась и вернула набор результатов 1 или 0, чтобы сказать, был лиошибка (0, если ошибки не было, 1, если произошла ошибка).
Из-за этого структура сущностей может подобрать это значение (даже если имя столбца набора результатов не соответствует выборузаявление, которое он послал в --- что-то, что могло бы быть обработано лучше IMO), и на дочерней таблице попытайтесь использовать это как внешний ключ.Поскольку 0 не был действительным FK, это выдает ошибку.
Достаточно забавно, я думаю, что если бы я получил 1 (Ошибка), он попытался бы использовать его в качестве внешнего ключа, что сработало бы, потому что IS записьс первичным ключом 1.
В заключение: если кто-то сталкивается с этой проблемой, запустите ваш профилировщик и посмотрите, что Entity Framework отправляет, и каков результат запроса, если вы видите, чтоВы получаете несколько наборов результатов, посмотрите на запускаемые триггеры.
Спасибо всем!