Прежде всего, было бы здорово, если бы вы могли опубликовать немного больше информации о ваших структурах классов.Есть ли у класса Site объект ObjectContext?Затем в качестве быстрого решения вы можете передать его в метод удаления и использовать метод context.DeleteObject (), а затем вызвать SaveChanges.
Однако в качестве долгосрочного решения я все же рекомендую использовать UnitOfWorkшаблон, и я опубликую ссылку на статью , объясняя это снова.Реализация может отличаться, но в целом она может решить большинство ваших проблем (аналогично этой).
Прелесть этого подхода в том, что если вы используете его правильно, вы можете создать небольшую структуру, котораяпозже вы сможете использовать его во всех своих проектах EF.