jueves, 11 de febrero de 2010

Borrar la tabla asociada a una entidad con LinQ

El código para borrar la tabla de una entidad de LinQ (asumiendo que tenemo una referencia al dataContext en this.DataContext) sería:


public void DeleteTable() where T : class
{
Table table = this.DataContext.GetTable();
string tableName = table.ToString();
int tableNameStartIndex = tableName.IndexOf('(') + 1;
tableName = tableName.Substring(tableNameStartIndex, tableName.Length - tableNameStartIndex - 1);

this.DataContext.ExecuteCommand(String.Format("delete from {0}", tableName));
this.DataContext.ExecuteCommand(String.Format("DBCC CHECKIDENT ('{0}', RESEED, 0)", tableName));
this.DataContext.SubmitChanges();
}

No hay comentarios: