Нет, я не думаю, что это обязательно создаст проблемы, но это может создать путаницу. Каждый контекст будет независимым и не будет делиться транзакциями, если вы явно не закодируете это. Я делаю нечто подобное, когда использую несколько контекстов данных, один для аудита, а другой для фактических данных, но они являются отдельными и даже не отображаются те же таблицы.
Мое предложение состоит в том, чтобы подтолкнуть контекст данных на один уровень - от метода к классу - чтобы все методы в классе могли использовать один и тот же контекст данных. Причина, по которой я этого не сделал, заключается в том, что я явно хотел разделить транзакции, чтобы можно было регистрировать как неудачи, так и успехи с помощью утилиты аудита. В местах, где у меня общий контекст данных, я использую его на уровне экземпляра, а не на уровне метода.
Одним из преимуществ продвижения контекста является то, что вы можете легко внедрить фиктивный контекст, если вам нужно для модульного тестирования. Создание контекста данных внутри вашего метода усложнит модульное тестирование, поскольку у вас нет простого способа изолировать его от вашей реальной базы данных. Я разместил в блоге запись о том, чтобы издеваться / подделывать контекст данных LINQ с помощью обертки некоторое время назад, что может быть полезно, если вы пойдете по этому пути.