1

私はしようとしました

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

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

最初の行は何もしません。そして2番目のスロー例外:

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

1 に答える 1

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

それが役立つことを願っています。

于 2011-08-30T09:29:03.437 に答える