Verifique se existe uma tabela em um banco de dados usando LINQ

Temos um banco de dados que foi implantado em vários clientes. No momento, estamos introduzindo um novo recurso opcional que, para ser usado, exigirá que os clientes que desejam que o recurso tenha uma nova tabela adicionada ao banco de dados existente.

Como estamos lançando um novo software que terá que interagir com versões do banco de dados, com e sem a nova tabela (e como não queremos duas versões, uma para clientes que possuem a nova tabela e outra para aqueles que não) estávamos nos perguntando se é possível determinar programaticamente (com estrutura de entidade) se existe uma tabela no banco de dados (posso tentar acessar a tabela e fazer com que ela gere uma exceção, mas se perguntava se havia uma função interna para fazer isso)

obrigado

Editar: Dado que as pessoas estão me dizendo que eu deveria estar usando um arquivo de configuração que não verifica com a EF, alguém pode me dar orientações sobre como verificar o arquivo de configuração com, por exemplo, anotações de dados personalizadas para um controlador mvc. Algo como:

[Boolean(Properties.Settings.Default.TableExists)]
public class NamedController : Controller

O que lança uma página não encontrada se falsa?

Edição 2: Com as sugestões dadas pelas pessoas para usar as definições de configuração, acabei com a seguinte solução

Configurações do aplicativo para definir se a tabela existe

<appSettings>
    <add key="tableExists" value="True"/>
</appSettings>

uma anotação de dados personalizada para dizer se deseja permitir acesso ao controlador

[AuthoriseIfTableExistsIsTrue]
public class NamedController : Controller

o código para a autorização autorizada

public class AuthoriseIfTableExistsIsTrue : AuthorizeAttribute
{
    private readonly bool _tableExists;

    public AuthoriseIfTableExistsIsTrue()
    {
        _tableExists = string.Equals(bool.TrueString, ConfigurationManager.AppSettings["tableExists"], StringComparison.InvariantCultureIgnoreCase);
    }

    public AuthoriseIfTableExistsIsTrue(bool authorise)
    {
        _tableExists = authorise;
    }

    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        if (_tableExists)
            return base.AuthorizeCore(httpContext);
        else
            throw new HttpException(404, "HTTP/1.1 404 Not Found");
    }
}

Obrigado a todos pela ajuda e me dizendo para não usar EF para isso e usar a configuração

questionAnswers(2)

yourAnswerToTheQuestion