![]() |
VOOZH | about |
Microsoft Entity Framework serves as an object-relational mapping framework for working with data represented as objects. Although Visual Studio offers the ADO.NET Entity Data Model wizard to automatically generate the Entity Model, this model-first approach may present challenges when your data source undergoes changes or when you require greater control over entity operations. In this article, we will delve into the code-first approach for accessing Adobe Commerce data through the CData ADO.NET Provider, providing you with more flexibility and control.
Modify the App.config file in the project to add a reference to the Adobe Commerce Entity Framework 6 assembly and the connection string.
Adobe Commerce uses the OAuth 1 authentication standard. To connect to the Adobe Commerce REST API, obtain values for the OAuthClientId, OAuthClientSecret, and CallbackURL connection properties by registering an app with your Adobe Commerce system. See the "Getting Started" section in the help documentation for a guide to obtaining the OAuth values and connecting.
You will also need to provide the URL to your Adobe Commerce system. The URL depends on whether you are using the Adobe Commerce REST API as a customer or administrator.
Customer: To use Adobe Commerce as a customer, make sure you have created a customer account in the Adobe Commerce homepage. To do so, click Account -> Register. You can then set the URL connection property to the endpoint of your Adobe Commerce system.
Administrator: To access Adobe Commerce as an administrator, set CustomAdminPath instead. This value can be obtained in the Advanced settings in the Admin menu, which can be accessed by selecting System -> Configuration -> Advanced -> Admin -> Admin Base URL.
If the Use Custom Admin Path setting on this page is set to YES, the value is inside the Custom Admin Path text box; otherwise, set the CustomAdminPath connection property to the default value, which is "admin".
<configuration> ... <connectionStrings> <add name="Adobe CommerceContext" connectionString="Offline=False;OAuthClientId=MyConsumerKey;OAuthClientSecret=MyConsumerSecret;CallbackURL=http://127.0.0.1:33333;Url=https://myAdobe Commercehost.com;" providerName="System.Data.CData.Adobe Commerce" /> </connectionStrings> <entityFramework> <providers> ... <provider invariantName="System.Data.CData.Adobe Commerce" type="System.Data.CData.Adobe Commerce.Adobe CommerceProviderServices, System.Data.CData.Adobe Commerce.Entities.EF6" /> </providers> <entityFramework> </configuration> </code>
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.ModelConfiguration.Conventions;
class Adobe CommerceContext : DbContext {
public Adobe CommerceContext() { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// To remove the requests to the Migration History table
Database.SetInitializer<Adobe CommerceContext>(null);
// To remove the plural names
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
using System.Data.Entity.ModelConfiguration;
using System.ComponentModel.DataAnnotations.Schema;
[System.ComponentModel.DataAnnotations.Schema.Table("Products")]
public class Products {
[System.ComponentModel.DataAnnotations.Key]
public System.String Name { get; set; }
public System.String Price { get; set; }
}
public DbSet<Products> Products { set; get; }
Adobe CommerceContext context = new Adobe CommerceContext(); context.Configuration.UseDatabaseNullSemantics = true; var query = from line in context.Products select line;
Download a free trial of the Adobe Commerce Data Provider to get started:
Download NowLearn more:
👁 Adobe Commerce IconRapidly create and deploy powerful .NET applications that integrate with Adobe Commerce data including Customers, Inventory, Products, Orders, and more!