Standard ADO.NET Access to Dynamics CRM
The Dynamics CRM ADO.NET Provider offers the most natural way to access Dynamics CRM data from any
.NET application. Simply use Dynamics CRM Data Provider objects to connect and access data just as you
would access any traditional database. You will be able to use the Dynamics CRM Data Provider through
Visual Studio Server Explorer, in code through familiar classes, and in data controls like DataGridView, GridView,
DataSet, etc.
The CData ADO.NET Provider for Dynamics CRM 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 Dynamics CRM Data Provider has the same ADO.NET architecture as the native .NET data providers for SQL Server
and OLEDB, including: Dynamics CRMConnection, Dynamics CRMCommand, Dynamics CRMDataAdapter, Dynamics CRMDataReader,
Dynamics CRMDataSource, Dynamics CRMParameter, etc. Because of
this you can now access Dynamics CRM data in an easy, familiar way.
For example:
using (Dynamics CRMConnection conn = new Dynamics CRMConnection("...")) {
string select = "SELECT * FROM Leads";
Dynamics CRMCommand cmd = new Dynamics CRMCommand(select, conn);
Dynamics CRMDataAdapter adapter = new Dynamics CRMDataAdapter(cmd);
using (adapter) {
DataTable table = new DataTable();
adapter.Fill(table);
...
}
}
More Than Read-Only: Full Update/CRUD Support
Dynamics CRM Data Provider 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 Dynamics CRM Data Provider as easily as interacting with
a database table.
using (Dynamics CRMConnection connection = new Dynamics CRMConnection(connectionString)) {
Dynamics CRMDataAdapter dataAdapter = new Dynamics CRMDataAdapter(
"SELECT Id, Where FROM Leads", connection);
dataAdapter.UpdateCommand = new Dynamics CRMCommand(
"UPDATE Leads SET Where = @Where " +
"WHERE Id = @ID", connection);
dataAdapter.UpdateCommand.Parameters.AddWithValue("@Where", "Where");
dataAdapter.UpdateCommand.Parameters.AddWithValue("@Id", "80000173-1387137645");
DataTable LeadsTable = new DataTable();
dataAdapter.Fill(LeadsTable);
DataRow firstrow = LeadsTable.Rows[0];
firstrow["Where"] = "New Location";
dataAdapter.Update(LeadsTable);
}
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:
- Network Connections - Slow network connections and latency issues are common in mobile applications.
- Service Delays - Delays due to service interruptions, resulting in server hardware or software updates.
- Large Data - Intentional or unintentional requests for large amounts of data.
- Disconnects - Complete loss of network connectivity.
The CData ADO.NET Provider for Dynamics CRM 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 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 ADO.NET Provider caching and best caching practices is available in the included
help files.
Visual Studio Integration & Server Explorer
Working with the new Dynamics CRM ADO.NET Provider is easy. As a fully-managed .NET Data Provider, the Dynamics CRM Data Provider
integrates seamlessly with the Visual Studio development environment as well as any .NET application.
As an ADO.NET Data Provider, Dynamics CRM ADO.NET Provider can be used to access and explore
Microsoft Dynamics CRM data directly from the Visual Studio Server Explorer.
It's easy. As a standard ADO.NET adapter, developers can connect the Server Explorer to Dynamics CRM ADO.NET Provider
just like connecting to any standard database.
- Add a new Data Connection from the Server Explorer and select the Microsoft Dynamics CRM Data Source
- Configure the basic connection properties to access your Microsoft Dynamics CRM account data.
Explore all of the data available! Dynamics CRM ADO.NET Provider makes it easy to access live Microsoft Dynamics CRM data from Visual Studio.
- After configuring the connection, explore the feeds, views, and services provided by the Microsoft Dynamics CRM Data Source.
- These constructs return live Microsoft Dynamics CRM data that developers can work with directly from within Visual Studio!
Developer Integration: Databind to Dynamics CRM
Connecting Web, Desktop, and Mobile .NET applications with Microsoft Dynamics CRM is just like working with SQL Server. It is even
possible to integrate Dynamics CRM ADO.NET Provider into applications without writing code.
Developers are free to access the Dynamics CRM ADO.NET Provider in whatever way they like best. Either visually through
the Visual Studio Winforms or Webforms designers, or directly through code.
- Developers can connect the Microsoft Dynamics CRM Data Source directly to form components by configuring the object's smart tags.
- Add a new Data Connection from the Server Explorer and select the Microsoft Dynamics CRM Data Source. Then, select the
feed, view, or services you would like to connect the object to.
Done! It's just like connecting to SQL Server.
- Once the object is bound to the data source, applications can easily interact with Microsoft Dynamics CRM data with full read/write (CRUD) support.