Как обрезать таблицу с помощью Telerik OpenAccess ORM?

Я пытался

ObjectScope.GetSqlQuery("TRUNCATE TABLE %table_name%", null, null).Execute();

а также

ObjectScope.GetOqlQuery("TRUNCATE TABLE %ClassName%Extent").Execute();

Первый ряд ничего не делает. И второе исключение броска:

line 1:10: unexpected token: ["TABLE",<42>,line=1,col=10]
Original Query: TRUNCATE TABLE DayExtent

1 ответ

Метод ExecuteDDLScript не делает различий между сценариями DDL и DML. Требуется только, чтобы не было открытых областей объекта.

        IObjectScope scope = ObjectScopeProvider1.GetNewObjectScope();
        //do something here
        scope.Dispose();
        string tableToTruncate = "SOME_TABLE";
        scope.Database.GetSchemaHandler().ExecuteDDLScript(string.Format("TRUNCATE TABLE {0}", tableToTruncate));
        scope = ObjectScopeProvider1.GetNewObjectScope();
        //do something again

Надеюсь, это поможет.

Другие вопросы по тегам