The following entity has a raw method that truncates (deletes) all records in a SQL database. I would like the method to be called from the collection object. Not a game killer if it can't but is it possible?
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>
I think you can use a raw delete method: 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>