Pergunta

Eu tenho um projeto com uma camada de acesso a dados formidável usando LinqToSql para praticamente qualquer coisa tocando nossas bases de dados. I necessário para construir uma classe auxiliar que preenche algumas das operações comuns CRUD da CLSA objetos para os LinqToSql. Tudo vem operando maravilhas até que eu precisava fazer uma truncado sobre uma mesa e tudo que eu tinha eram métodos “delete”.

Uh-oh. Uma rápida pesquisa revela que algumas pessoas estão usando YourContext.ExecuteCommand (), que é bom e tudo, mas eu estou tentando ir “t-sql-menos”, tanto quanto possível nos dias de hoje.

Existe uma maneira LINQ para executar uma truncado no mesa? Ou eu sou só nora ?

Foi útil?

Solução

Isto não é possível sem fazer uma consulta personalizada T-SQL. Fazendo uma .Delete () e SubmitChanges afterwords faria, como você provavelmente já sabe, resultado em uma instrução DELETE.

Claro que você pode criar um procedimento armazenado que trunca a tabela e, em seguida, chamar o procedimento de LINQ, mas isso não é realmente o que você está procurando Eu acredito.

Outras dicas

Você pode fazer algo como isto:

yourDataContext.ExecuteCommand("TRUNCATE TABLE YourTable");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top