Couchbase ADO.NET Provider for Xamarin

Connect Mobile Apps with live Couchbase NoSQL DB

  • Connect to live Couchbase through standard Xamarin data access.
  • Comprehensive support for CRUD (Create, Read, Update, and Delete) operations.
  • An easy-to-use 'flattened' interface for working with Couchbase NoSQL databases.

  download   buy now

The Easiest Way to Connect Mobile Apps to Live Data

The Couchbase ADO.NET Provider for Xamarin gives developers the power to easily connect their mobile Xamarin apps to Couchbase Server data.

The Couchbase Data Provider for Xamarin makes this Couchbase Server data look like SQL tables in your applications. With the Couchbase Data Provider for Xamarin developers access data through standard Xamarin data access, just like using SQL or SQLite.

Xamarin ADO.NET Provider Overview

The Couchbase ADO.NET Provider for Xamarin offers the easiest way to access live Couchbase data from mobile applications. Simply use Couchbase Data Provider for Xamarin objects to connect and access data just as you would access any traditional database. You will be able to use the Couchbase Data Provider for Xamarin in code through familiar classes, in data controls like ListView, iOS.UITableView, DataSet, etc., and with popular 3rd party GridView controls.

Using the Couchbase Data Provider for Xamarin

The Couchbase Data Provider for Xamarin wraps the complexity of accessing Couchbase services in an easy-to-integrate, fully managed ADO.NET Data Provider for Xamarin. Applications then access Couchbase through the Couchbase Data Provider for Xamarin with simple Transact-SQL.

The CData Couchbase ADO.NET Provider for Xamarin hides the complexity of accessing data and provides additional powerful security features, smart caching, batching, socket management, and more.

Working with DataAdapters, DataSets, DataTables, etc.

The Couchbase Data Provider for Xamarin has the same ADO.NET architecture as the native .NET data providers for SQL Server and OLEDB, including: CouchbaseConnection, CouchbaseCommand, CouchbaseDataAdapter, CouchbaseDataReader, CouchbaseDataSource, CouchbaseParameter, etc. Because of this you can now access Couchbase data in an easy, familiar way.

For example:

DataTable table = new DataTable ();
CouchbaseConnection conn = new CouchbaseConnection("...")

string statement = "SELECT * FROM Documents";
CouchbaseDataAdapter adapter = new CouchbaseDataAdapter (statement, conn);
adapter.Fill (table);

...

More Than Read-Only: Full Update/CRUD Support

Couchbase Data Provider for Xamarin goes beyond read-only functionality to deliver full support for Create, Read Update, and Delete operations (CRUD). Your end-users can interact with the data presented by the Couchbase Data Provider for Xamarin as easily as interacting with a database table.

using (CouchbaseConnection connection = new CouchbaseConnection(connectionString)) {
	CouchbaseDataAdapter dataAdapter = new CouchbaseDataAdapter(
	"SELECT Id, Where FROM Documents", connection);
  
	dataAdapter.UpdateCommand = new CouchbaseCommand(
		"UPDATE Documents SET Where = @Where " +
		"WHERE Id = @ID", connection);

	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Where", "Where");
	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Id", "80000173-1387137645");

	DataTable DocumentsTable = new DataTable();
	dataAdapter.Fill(DocumentsTable);

	DataRow firstrow = DocumentsTable.Rows[0];
	firstrow["Where"] = "New Location";

	dataAdapter.Update(DocumentsTable);
}


Driver Features

  • Cross-platform Mobile Development: Build applications with Xamarin and ship across iOS, Android, and Mac. Support for Xamarin.iOS and Xamarin.Android
  • Fully-managed .NET: ADO.NET libraries optimized for cross-platform Xamarin development.
  • Developer Friendly: Seamless integration with popular development environments including Microsoft Visual Studio .NET and Xamarin Studio.
  • Powerful ADO.NET Features: Including support for ADO.NET Entity Framework (EF 5 & 6), ADO.NET 2.0, LINQ to Datasets, etc.
  • Replication and Caching: Our replication and caching commands make it easy to copy data to local data stores like Mono.Data.Sqlite for offline data access. The replication commands include many features that allow for intelligent incremental updates to cached data.
  • String, Date, Numeric SQL Functions: The driver includes a library of 50 plus functions that can manipulate column values into the desired result. Popular examples include Regex, JSON, and XML processing functions.
  • Collaborative Query Processing: Our drivers enhance the data source's capabilities by additional client side processing, when needed, to enable analytic summaries of data such as SUM, AVG, MAX, MIN, etc.
  • Easily Customizable and Configurable: The data model exposed by our ADO.NET Providers can easily be customized to add or remove tables/columns, change data types, etc. without requiring a new build. These customizations are supported at runtime using human-readable schema files that are easy to edit.
  • Secure Connectivity: Includes standard Enterprise-class security features such as TLS/ SSL data encryption for all client-server communications.

Xamarin ADO.NET Provider Performance

With traditional approaches to remote access, performance bottlenecks can spell disaster for applications. Regardless if an application is created for internal use, a commercial project, web, or mobile application, slow performance can rapidly lead to project failure. Accessing data from any remote source has the potential to create these problems. Common issues include:

  1. Network Connections - Slow network connections and latency issues are common in mobile applications.
  2. Service Delays - Delays due to service interruptions, resulting in server hardware or software updates.
  3. Large Data - Intentional or unintentional requests for large amounts of data.
  4. Disconnects - Complete loss of network connectivity.

The CData Couchbase ADO.NET Provider for Xamarin solves these issues by supporting powerful smart caching technology that can greatly improve the performance and dramatically reduce application bottlenecks.

Smart Caching

Smart caching is a configurable option that works by storing queried data into a local database. Enabling smart caching creates a persistent local cache database that contains a replica of data retrieved from the remote source. The cache database is small, lightweight, blazing-fast, and it can be shared by multiple connections as persistent storage.

Caching with our Xamarin ADO.NET Providers is highly configurable, including options for:

  • Auto Cache - Maintain an automatic local cache of data on all requests. The provider will automatically load data into the cache database each time you execute a SELECT query. Each row returned by the query will be inserted or updated as necessary into the corresponding table in the cache database.
  • Explicit Cache - Cache only on demand. Developers decide exactly what data gets stored in the cache and when it is updated. Explicit caching provides full control over the cache contents by using explicit execution of CACHE statements.
  • No Cache - All requests access only live data and no local cache file is created.

This powerful caching functionality increases application performance and allows applications to disconnect and continue limited functioning without writing code for additional local storage and/or data serialization/deserialization.

More information about Xamarin ADO.NET Provider caching and best caching practices is available in the included help files.