![]() |
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 Sybase 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 Sybase Entity Framework 6 assembly and the connection string.
To connect to Sybase, specify the following connection properties:
Optionally, you can also secure your connections with TLS/SSL by setting UseSSL to true.
Sybase supports several methods for authentication including Password and Kerberos.
Set the AuthScheme to Password and set the following connection properties to use Sybase authentication.
To connect with LDAP authentication, configure Sybase server-side to use the LDAP authentication mechanism.
After configuring Sybase for LDAP, you can connect using the same credentials as Password authentication.
To leverage Kerberos authentication, begin by enabling it setting AuthScheme to Kerberos. See the Using Kerberos section in the Help documentation for more information on using Kerberos authentication.
You can find an example connection string below:
Server=MyServer;Port=MyPort;User=SampleUser;Password=SamplePassword;Database=MyDB;Kerberos=true;KerberosKDC=MyKDC;KerberosRealm=MYREALM.COM;KerberosSPN=server-name
<configuration> ... <connectionStrings> <add name="SybaseContext" connectionString="Offline=False;User=myuser;Password=mypassword;Server=localhost;Database=mydatabase;Charset=iso_1;" providerName="System.Data.CData.Sybase" /> </connectionStrings> <entityFramework> <providers> ... <provider invariantName="System.Data.CData.Sybase" type="System.Data.CData.Sybase.SybaseProviderServices, System.Data.CData.Sybase.Entities.EF6" /> </providers> <entityFramework> </configuration> </code>
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.ModelConfiguration.Conventions;
class SybaseContext : DbContext {
public SybaseContext() { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// To remove the requests to the Migration History table
Database.SetInitializer<SybaseContext>(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 Id { get; set; }
public System.String ProductName { get; set; }
}
public DbSet<Products> Products { set; get; }
SybaseContext context = new SybaseContext(); context.Configuration.UseDatabaseNullSemantics = true; var query = from line in context.Products select line;
Download a free trial of the Sybase Data Provider to get started:
Download NowLearn more:
👁 SAP Sybase IconRapidly create and deploy powerful .NET applications that integrate with Sybase databases.