![]() |
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 SAP SuccessFactors 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 SAP SuccessFactors Entity Framework 6 assembly and the connection string.
You can authenticate to SAP Success Factors using Basic authentication or OAuth with SAML assertion.
You must provide values for the following properties to successfully authenticate to SAP Success Factors. Note that the provider will reuse the session opened by SAP Success Factors using cookies. Which means that your credentials will be used only on the first request to open the session. After that, cookies returned from SAP Success Factors will be used for authentication.
You must provide values for the following properties, which will be used to get the access token.
<configuration> ... <connectionStrings> <add name="SAPSuccessFactorsContext" connectionString="Offline=False;User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;" providerName="System.Data.CData.SAPSuccessFactors" /> </connectionStrings> <entityFramework> <providers> ... <provider invariantName="System.Data.CData.SAPSuccessFactors" type="System.Data.CData.SAPSuccessFactors.SAPSuccessFactorsProviderServices, System.Data.CData.SAPSuccessFactors.Entities.EF6" /> </providers> <entityFramework> </configuration> </code>
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.ModelConfiguration.Conventions;
class SAPSuccessFactorsContext : DbContext {
public SAPSuccessFactorsContext() { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// To remove the requests to the Migration History table
Database.SetInitializer<SAPSuccessFactorsContext>(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("ExtAddressInfo")]
public class ExtAddressInfo {
[System.ComponentModel.DataAnnotations.Key]
public System.String address1 { get; set; }
public System.String zipCode { get; set; }
}
public DbSet<ExtAddressInfo> ExtAddressInfo { set; get; }
SAPSuccessFactorsContext context = new SAPSuccessFactorsContext(); context.Configuration.UseDatabaseNullSemantics = true; var query = from line in context.ExtAddressInfo select line;
Download a free trial of the SAP SuccessFactors Data Provider to get started:
Download NowLearn more:
👁 SAP SuccessFactors IconRapidly create and deploy powerful .NET applications that integrate with SAP SuccessFactors.