Хотя вы, возможно, захотите взглянуть на свой дизайн, поскольку подобные вещи должны быть чем-то, что вы можете определить детерминистически, это возможно сделать.
К сожалению, точный вызов, чтобы определить, присоединен ли объект (или, во внутренней номенклатуре L2S, «отслеживается»), требует, чтобы вы вызвали Context.Services.ChangeTracker.GetTrackedObject
, что составляет internal
. Самое близкое, что я вижу, это вызов Table.GetOriginalEntityState
, передача рассматриваемой сущности. Если возвращаемое значение равно null
, то объект не отслеживается (не привязан). Если возвращаемое значение не равно null
, то объект отслеживается (прикрепляется).
Обратите внимание, что я на самом деле не проверял это, но просмотр кода в Reflector создает у меня впечатление, что это должно работать для вас.