![]() |
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 Odoo data through the CData ADO.NET Provider, providing you with more flexibility and control.
Accessing and integrating live data from Odoo has never been easier with CData. Customers rely on CData connectivity to:
Users frequently integrate Odoo with analytics tools such as Power BI and Qlik Sense, and leverage our tools to replicate Odoo data to databases or data warehouses.
Modify the App.config file in the project to add a reference to the Odoo Entity Framework 6 assembly and the connection string.
To connect, set the Url to a valid Odoo site, User and Password to the connection details of the user you are connecting with, and Database to the Odoo database.
<configuration> ... <connectionStrings> <add name="OdooContext" connectionString="Offline=False;User=MyUser;Password=MyPassword;URL=http://MyOdooSite/;Database=MyDatabase;" providerName="System.Data.CData.Odoo" /> </connectionStrings> <entityFramework> <providers> ... <provider invariantName="System.Data.CData.Odoo" type="System.Data.CData.Odoo.OdooProviderServices, System.Data.CData.Odoo.Entities.EF6" /> </providers> <entityFramework> </configuration> </code>
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.ModelConfiguration.Conventions;
class OdooContext : DbContext {
public OdooContext() { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// To remove the requests to the Migration History table
Database.SetInitializer<OdooContext>(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("res_users")]
public class res_users {
[System.ComponentModel.DataAnnotations.Key]
public System.String name { get; set; }
public System.String email { get; set; }
}
public DbSet<res_users> res_users { set; get; }
OdooContext context = new OdooContext(); context.Configuration.UseDatabaseNullSemantics = true; var query = from line in context.res_users select line;
Download a free trial of the Odoo Data Provider to get started:
Download NowLearn more:
👁 Odoo IconRapidly create and deploy powerful .NET applications that integrate with Odoo ERP data, including Sales Orders, Purchase Orders, Accounts,, and more!