As quickly discussed in the comments above: The setting NotFoundMode.Ignore
is really mostly for legacy stuff.
It give us the option how to handle inconsistent foreign-keys
in DB. If we cannot fix the underlying tables, we at least can use the not-found="ignore"
setting.
Please see these Q&A for some more information, about down side of that setting. It should give the answer, why are "repeated selects" of the "not existing" values issued: