![]() |
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 Jira Service Management 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 Jira Service Management Entity Framework 6 assembly and the connection string.
You can establish a connection to any Jira Service Desk Cloud account or Server instance.
To connect to a Cloud account, you'll first need to retrieve an APIToken. To generate one, log in to your Atlassian account and navigate to API tokens > Create API token. The generated token will be displayed.
Supply the following to connect to data:
To authenticate with a service account, supply the following connection properties:
Note: Password has been deprecated for connecting to a Cloud Account and is now used only to connect to a Server Instance.
By default, the connector only surfaces system fields. To access the custom fields for Issues, set IncludeCustomFields.
<configuration> ... <connectionStrings> <add name="JiraServiceDeskContext" connectionString="Offline=False;ApiKey=myApiKey;User=MyUser;InitiateOAuth=GETANDREFRESH;" providerName="System.Data.CData.JiraServiceDesk" /> </connectionStrings> <entityFramework> <providers> ... <provider invariantName="System.Data.CData.JiraServiceDesk" type="System.Data.CData.JiraServiceDesk.JiraServiceDeskProviderServices, System.Data.CData.JiraServiceDesk.Entities.EF6" /> </providers> <entityFramework> </configuration> </code>
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.ModelConfiguration.Conventions;
class JiraServiceDeskContext : DbContext {
public JiraServiceDeskContext() { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// To remove the requests to the Migration History table
Database.SetInitializer<JiraServiceDeskContext>(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("Requests")]
public class Requests {
[System.ComponentModel.DataAnnotations.Key]
public System.String RequestId { get; set; }
public System.String ReporterName { get; set; }
}
public DbSet<Requests> Requests { set; get; }
JiraServiceDeskContext context = new JiraServiceDeskContext(); context.Configuration.UseDatabaseNullSemantics = true; var query = from line in context.Requests select line;
Download a free trial of the Jira Service Management Data Provider to get started:
Download NowLearn more:
👁 Jira Service Management IconRapidly create and deploy powerful .NET applications that integrate with Jira Service Management.