Interface ICRUDOperations
  
  Describes an entity that performs single (not in transaction/batch)CRUD operations
 
  
  
  Assembly: NFX.dll
  Syntax
  
    public interface ICRUDOperations
   
  Properties
  
  
  
  
  SupportsTrueAsynchrony
  Returns true when backend supports true asynchronous operations, such as the ones that do not create extra threads/empty tasks
 
  
  Declaration
  
    bool SupportsTrueAsynchrony { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  Methods
  
  
  
  
  Delete(Row, IDataStoreKey)
  
  
  Declaration
  
    int Delete(Row row, IDataStoreKey key = null)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Int32 | 
         | 
      
    
  
  
  
  
  DeleteAsync(Row, IDataStoreKey)
  
  
  Declaration
  
    Task<int> DeleteAsync(Row row, IDataStoreKey key = null)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<System.Int32> | 
         | 
      
    
  
  
  
  
  ExecuteWithoutFetch(Query[])
  
  
  Declaration
  
    int ExecuteWithoutFetch(params Query[] queries)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query[] | 
        queries | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Int32 | 
         | 
      
    
  
  
  
  
  ExecuteWithoutFetchAsync(Query[])
  
  
  Declaration
  
    Task<int> ExecuteWithoutFetchAsync(params Query[] queries)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query[] | 
        queries | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<System.Int32> | 
         | 
      
    
  
  
  
  
  GetSchema(Query)
  
  
  Declaration
  
    Schema GetSchema(Query query)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query | 
        query | 
         | 
      
    
  
  Returns
  
  
  
  
  GetSchemaAsync(Query)
  
  
  Declaration
  
    Task<Schema> GetSchemaAsync(Query query)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query | 
        query | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<Schema> | 
         | 
      
    
  
  
  
  
  Insert(Row, FieldFilterFunc)
  
  
  Declaration
  
    int Insert(Row row, FieldFilterFunc filter = null)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Int32 | 
         | 
      
    
  
  
  
  
  InsertAsync(Row, FieldFilterFunc)
  
  
  Declaration
  
    Task<int> InsertAsync(Row row, FieldFilterFunc filter = null)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<System.Int32> | 
         | 
      
    
  
  
  
  
  Load(Query[])
  
  
  Declaration
  
    List<RowsetBase> Load(params Query[] queries)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query[] | 
        queries | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Collections.Generic.List<RowsetBase> | 
         | 
      
    
  
  
  
  
  LoadAsync(Query[])
  
  
  Declaration
  
    Task<List<RowsetBase>> LoadAsync(params Query[] queries)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query[] | 
        queries | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<System.Collections.Generic.List<RowsetBase>> | 
         | 
      
    
  
  
  
  
  LoadOneRow(Query)
  
  
  Declaration
  
    Row LoadOneRow(Query query)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query | 
        query | 
         | 
      
    
  
  Returns
  
  
  
  
  LoadOneRowAsync(Query)
  
  
  Declaration
  
    Task<Row> LoadOneRowAsync(Query query)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query | 
        query | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<Row> | 
         | 
      
    
  
  
  
  
  LoadOneRowset(Query)
  
  
  Declaration
  
    RowsetBase LoadOneRowset(Query query)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query | 
        query | 
         | 
      
    
  
  Returns
  
  
  
  
  LoadOneRowsetAsync(Query)
  
  
  Declaration
  
    Task<RowsetBase> LoadOneRowsetAsync(Query query)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query | 
        query | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<RowsetBase> | 
         | 
      
    
  
  
  
  
  OpenCursor(Query)
  
  
  Declaration
  
    Cursor OpenCursor(Query query)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query | 
        query | 
         | 
      
    
  
  Returns
  
  
  
  
  OpenCursorAsync(Query)
  
  
  Declaration
  
    Task<Cursor> OpenCursorAsync(Query query)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Query | 
        query | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<Cursor> | 
         | 
      
    
  
  
  
  
  Save(RowsetBase[])
  
  
  Declaration
  
    int Save(params RowsetBase[] rowsets)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Int32 | 
         | 
      
    
  
  
  
  
  SaveAsync(RowsetBase[])
  
  
  Declaration
  
    Task<int> SaveAsync(params RowsetBase[] rowsets)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<System.Int32> | 
         | 
      
    
  
  
  
  
  Update(Row, IDataStoreKey, FieldFilterFunc)
  
  
  Declaration
  
    int Update(Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Int32 | 
         | 
      
    
  
  
  
  
  UpdateAsync(Row, IDataStoreKey, FieldFilterFunc)
  
  
  Declaration
  
    Task<int> UpdateAsync(Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<System.Int32> | 
         | 
      
    
  
  
  
  
  Upsert(Row, FieldFilterFunc)
  
  
  Declaration
  
    int Upsert(Row row, FieldFilterFunc filter = null)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Int32 | 
         | 
      
    
  
  
  
  
  UpsertAsync(Row, FieldFilterFunc)
  
  
  Declaration
  
    Task<int> UpsertAsync(Row row, FieldFilterFunc filter = null)
   
  Parameters
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task<System.Int32> | 
         | 
      
    
  
  Extension Methods