Существует несколько свойств атрибута [Column], которые запускают этот SELECT после INSERT:
- Автосинхронизация, которая по умолчанию никогда не используется и отменяется ISDBGenerated и ISDBVersion
- ISDBGenerated, который генерирует поведение, которое вы описываете.
- IsVersion, что означает, что поле будет автоматически обновляться при каждом обновлении / вставке записи, а LINQ также будет извлекать фактическое значение после обновления / вставки, что приведет к описанному вами поведению.
Я не уверен, применимо ли это к вашей конкретной ситуации, но возможно ли удалить эти атрибуты из поля, которое вас беспокоит, и установить его вручную, вместо того, чтобы позволить БД устанавливать его самостоятельно? (или, по крайней мере, не говорите LINQ, что БД установит его автоматически, и LINQ не будет ВЫБРАТЬ после ВСТАВКИ).
Это не решает актуальную проблему исправления только для одного из 2 проектов. Я также не уверен, что работа LINQ выполняется во время выполнения через отражение или во время компиляции. Если магия совершается во время выполнения, вы можете сможете удалить атрибут с отражением и добавить его обратно, возможно , я действительно не знаю.
Отказ от ответственности: все, что я сказал, является теоретическим, я не проверял все это и не имел достаточного опыта работы с LINQ.
Просто мои 2 цента.