Как обрезать таблицу с помощью 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
Надеюсь, это поможет.