Как обрезать таблицу с помощью Telerik OpenAccess ORM? - PullRequest
1 голос
/ 08 августа 2011

Я пытался

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 Ответ

1 голос
/ 30 августа 2011

Метод 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

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

...