dotConnect for Salesforce is an ADO.NET provider for accessing data of the Salesforce.com cloud CRM and Database.com cloud database through the standard ADO.NET or Entity Framework interfaces. It allows you to easily connect your .NET applications to Salesforce data, and integrate Salesforce services with widely used data-oriented technologies. dotConnect for Salesforce offers local SQL engine to query Salesforce data, advanced data caching, query optimization and other enterprise level features.
dotConnect for Salesforce is actively developed and supported by the Devart. If you have questions about dotConnect for Salesforce, email the developers at [email protected] or visit dotConnect for Salesforce online at https://www.devart.com/dotconnect/salesforce/.
dotConnect for Salesforce provides ADO.NET interfaces to access Database.com and Salesforce.com data via Force.com Web Services API. It provides you two ways to access Salesforce.com or Database.com data from your .NET applications: through Entity Framework or with SQL statements.
SQL statements are translated to SOQL queries and Web service calls. If a SQL query cannot be translated to SOQL, the data is retrieved for each queried table separately, and the query is executed locally. dotConnect for Salesforce supports SELECT syntax from SQL-92 standard and partially supports DML from this standard.
For more details on selecting data see the Selecting Data topic. To learn more about using dotConnect for Salesforce with Entity Framework, see the Entity Framework section.
dotConnect for Salesforce works in the following way: when you try connecting to Salesforce.com or Database.com, a database session to an embedded databases, used for caching Salesforce.com or Database.com data and for storing mapping objects to tables, is established. If the application requests data that is not cached or cache is out-of-date or the application needs to modify data, a Web service session with the Salesforce.com or Database.com is established to get or modify the requested data. See the following diagram:
dotConnect for Salesforce uses SQLite as an embedded database for storing metadata and cache. For more information see Cache and Metadata sections.
Comprehensive Support for ADO.NET Technology Features
ADO.NET is a widely-used and well known way to access data, that can easily be integrated with a number of data processing technologies, thus allowing you to easily create data-oriented applications. dotConnect for Salesforce offers ADO.NET interface over Salesforce services allowing you to use:
ADO.NET Entity Framework Support
ADO.NET Entity Framework is a conceptual approach to database application development with focus on objects instead of relational data. The flexible architecture of Entity Framework is made up of well-thought layers and modules. Entity Framework optimizes the development process with object-relational mapping, SQL-based entity query language, and LINQ.
dotConnect for Salesforce fully supports the Entity Framework capabilities, which allows you to use LINQ to Entities, entity relations, and other Entity Framework features together with Salesforce web services. dotConnect for Salesforce includes a wizard that helps you setup model relations, and a set of demos to use as a starting point.
Rich Design-Time
dotConnect for Salesforce has rich set of design time tools that leverage the development process greatly. Particularly, there are convenient design time component editors, wizards toolset for live data binding and much more. dotConnect for Salesforce integrates tightly with Visual Studio 2008 - 2022.
A description of the dotConnect for Salesforce components is provided in the Class and Component List.
Working with Salesforce data through the free Web Services API has considerable disadvantages. Before starting you need to learn complex Salesforce Web Services API, Salesforce data types, to get acquainted with Salesforce object model. You also need to learn how to choose protocol, how to establish a connection, and how to retrieve data using query and querymore calls.
To retrieve data, you have to use SOQL, which is known to be rather limited. Additionally, Salesforce returns object data that are hard to use in controls, reports, etc.
Creating a new object is a complex task in Salesforce, and this webservice does not allow deleting or updating several objects with a single call - you have to use cycles for these tasks. All this requires much time and efforts to learn.
With dotConnect for Salesforce there is no need to learn all of this. You can use your existing ADO.NET or Entity Framework knowledge to accomplish all the tasks involving Salesforce data.