Можно ли вызвать метод Raw SQL, который не возвращает данные, из объекта коллекции? - PullRequest
0 голосов
/ 16 февраля 2019

У следующего объекта есть необработанный метод, который усекает (удаляет) все записи в базе данных SQL.Я хотел бы, чтобы метод вызывался из объекта коллекции.Не убийца игры, если это невозможно, но возможно ли это?

UserCollection.TruncateDatabase()

instead of

User.TruncateDatabase()

  <cf:entity name="User" namespace="Amikids.ActiveDirectoryCache" categoryPath="/Amikids.ActiveDirectoryCache">
    <cf:property name="Id" key="true" />
    <cf:property name="DirectReports" typeName="{0}.UserCollection" relationPropertyName="ReportsTo" />
    <cf:property name="ReportsTo" typeName="{0}.User" relationPropertyName="DirectReports" />
    <cf:property name="UserInfo" typeName="{0}.Lightweight.UserInfo" />
    <cf:method name="TruncateDataBase">
      <cf:body text="RAW" rawText="TRUNCATE TABLE dbo.[User]" language="tsql" />
    </cf:method>
    <cf:method name="LoadByObjectGuid" body="LOADONE(guid objectGuid) WHERE UserInfo.objectGUID = @objectGuid" />
    <cf:method name="LoadByDistinguishedName" body="LOADONE(string distinguishedName) WHERE UserInfo.DistinguishedName = @distinguishedName" />
  </cf:entity>

1 Ответ

0 голосов
/ 16 февраля 2019

Я думаю, вы можете использовать необработанный метод удаления: https://www.softfluent.com/Documentation/Methods_Delete.html

 <cf:entity name="User">
    <cf:method name="TruncateDataBase">
      <cf:body text="DELETE() raw" rawBody="TRUNCATE TABLE dbo.[User]" language="tsql" />
    </cf:method>
  </cf:entity>
...