static void DeleteValueRecursive(this SQLiteConnection conn, object value, bool recursive, ISet <object> objectCache) { if (value == null) { return; } var enumerable = value as IEnumerable ?? new [] { value }; conn.DeleteAllRecursive(enumerable, recursive, objectCache); }
/// <summary> /// Deletes all the objects passed as parameters from the database. /// If recursive flag is set to true, all relationships marked with 'CascadeDelete' will be /// deleted from the database recursively. Inverse relationships and closed entity loops are handled /// correctly to avoid endless loops /// </summary> /// <param name="conn">SQLite Net connection object</param> /// <param name="recursive">If set to <c>true</c> all relationships marked with 'CascadeDelete' will be /// deleted from the database recursively</param> /// <param name="objects">Objects to be deleted from the database</param> public static void DeleteAll(this SQLiteConnection conn, IEnumerable objects, bool recursive = false) { conn.DeleteAllRecursive(objects, recursive); }