Repository files navigation

EntityFrameworkCore.Jet

Build statusStable release feed for official buildsCI build feed for release buildsCI build feed for debugging enabled builds

EntityFrameworkCore.Jet is an Entity Framework Core provider for Microsoft Jet/ACE databases (supporting the Microsoft Access database file formats MDB and ACCDB).

Compatibility Matrix

EntityFrameworkCore.Jet VersionEntity Framework Core Version.NETNotes
11.0.x11.0.x11.0+Current development line
10.0.x10.0.x10.0+Supported
9.0.x9.0.x9.0+Supported
8.0.x8.0.x8.0+Alpha 2 onwards is compatible with EF Core RTM
7.0.x7.0.x6.0+
6.0.x6.0.x6.0+

The major version corresponds to the major version of EF Core (i.e. EFCore.Jet 3.x is compatible with EF Core 3.y). It runs on Windows operating systems only and can be used with either ODBC or OLE DB together with their respective Access Database driver/provider.

Requirements

EntityFrameworkCore.Jet requires:

  • Windows.
  • A Microsoft Access Database Engine driver/provider for either ODBC or OLE DB.
  • A process architecture (x86 or x64) that matches the installed Access driver/provider.

The provider works with Microsoft Access MDB and ACCDB database files.

Packages

Getting Started

Install the provider package for the data access technology you want to use:

dotnet add package EntityFrameworkCore.Jet.OleDb

or:

dotnet add package EntityFrameworkCore.Jet.Odbc

Configure your DbContext with the matching UseJet... extension method:

usingMicrosoft.EntityFrameworkCore;publicclassBloggingContext:DbContext{publicDbSet<Blog>Blogs=>Set<Blog>();protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder)=>optionsBuilder.UseJetOleDb(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Blogging.accdb");}publicclassBlog{publicintId{get;set;}publicstring?Url{get;set;}}

For ODBC, use UseJetOdbc instead:

optionsBuilder.UseJetOdbc(@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Data\Blogging.accdb;");

NuGet Feeds

Official Releases

All official releases are available on nuget.org.

CI Builds

CI publishes each build to MyGet. To use the latest CI builds, add a NuGet.config file to your solution root, add the feeds you are interested in and enable prereleases:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<addkey="efcorejet-daily"value="https://www.myget.org/F/cirrusred/api/v3/index.json" />
<addkey="efcorejet-daily-debug"value="https://www.myget.org/F/cirrusred-debug/api/v3/index.json" />
<addkey="nuget.org"value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

There are two CI build feeds available, one with (optimized) Release configuration builds and one with (unoptimized) Debug configuration builds. All packages use SourceLink.

Fluent API

In order to simplify writing code for more than just one provider, some Fluent API method names have been made specific to Jet. Examples are:

  • UseIdentityColumn -> UseJetIdentityColumn
  • UseIdentityColumns -> UseJetIdentityColumns

LibRed - native managed engine (in development)

LibRed is a from-scratch, fully managed implementation of the Jet/ACE engine that lives in this repository. It reads and writes MDB/ACCDB files directly - no ODBC, OLE DB, DAO or ADOX - so it removes both the Windows-only requirement and the need to match your process architecture to an installed Access driver.

It reads and writes real database files, runs SQL end to end, and an EF Core DbContext round-trips through it today. It is still in development and is not published as a NuGet package; the on-disk format it depends on is documented and verified in src/LibRed/docs/format/.

Further information

More information can be found on our Wiki.

Questions

Questions, bug reports, and feature requests can be opened as GitHub issues.

About

Entity Framework Core provider for Access database

Resources

Stars

160 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

EntityFrameworkCore.Jet

Build statusStable release feed for official buildsCI build feed for release buildsCI build feed for debugging enabled builds

EntityFrameworkCore.Jet is an Entity Framework Core provider for Microsoft Jet/ACE databases (supporting the Microsoft Access database file formats MDB and ACCDB).

Compatibility Matrix

EntityFrameworkCore.Jet VersionEntity Framework Core Version.NETNotes
11.0.x11.0.x11.0+Current development line
10.0.x10.0.x10.0+Supported
9.0.x9.0.x9.0+Supported
8.0.x8.0.x8.0+Alpha 2 onwards is compatible with EF Core RTM
7.0.x7.0.x6.0+
6.0.x6.0.x6.0+

The major version corresponds to the major version of EF Core (i.e. EFCore.Jet 3.x is compatible with EF Core 3.y). It runs on Windows operating systems only and can be used with either ODBC or OLE DB together with their respective Access Database driver/provider.

Requirements

EntityFrameworkCore.Jet requires:

  • Windows.
  • A Microsoft Access Database Engine driver/provider for either ODBC or OLE DB.
  • A process architecture (x86 or x64) that matches the installed Access driver/provider.

The provider works with Microsoft Access MDB and ACCDB database files.

Packages

Getting Started

Install the provider package for the data access technology you want to use:

dotnet add package EntityFrameworkCore.Jet.OleDb

or:

dotnet add package EntityFrameworkCore.Jet.Odbc

Configure your DbContext with the matching UseJet... extension method:

usingMicrosoft.EntityFrameworkCore;publicclassBloggingContext:DbContext{publicDbSet<Blog>Blogs=>Set<Blog>();protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder)=>optionsBuilder.UseJetOleDb(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Blogging.accdb");}publicclassBlog{publicintId{get;set;}publicstring?Url{get;set;}}

For ODBC, use UseJetOdbc instead:

optionsBuilder.UseJetOdbc(@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Data\Blogging.accdb;");

NuGet Feeds

Official Releases

All official releases are available on nuget.org.

CI Builds

CI publishes each build to MyGet. To use the latest CI builds, add a NuGet.config file to your solution root, add the feeds you are interested in and enable prereleases:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<addkey="efcorejet-daily"value="https://www.myget.org/F/cirrusred/api/v3/index.json" />
<addkey="efcorejet-daily-debug"value="https://www.myget.org/F/cirrusred-debug/api/v3/index.json" />
<addkey="nuget.org"value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

There are two CI build feeds available, one with (optimized) Release configuration builds and one with (unoptimized) Debug configuration builds. All packages use SourceLink.

Fluent API

In order to simplify writing code for more than just one provider, some Fluent API method names have been made specific to Jet. Examples are:

  • UseIdentityColumn -> UseJetIdentityColumn
  • UseIdentityColumns -> UseJetIdentityColumns

LibRed - native managed engine (in development)

LibRed is a from-scratch, fully managed implementation of the Jet/ACE engine that lives in this repository. It reads and writes MDB/ACCDB files directly - no ODBC, OLE DB, DAO or ADOX - so it removes both the Windows-only requirement and the need to match your process architecture to an installed Access driver.

It reads and writes real database files, runs SQL end to end, and an EF Core DbContext round-trips through it today. It is still in development and is not published as a NuGet package; the on-disk format it depends on is documented and verified in src/LibRed/docs/format/.

Further information

More information can be found on our Wiki.

Questions

Questions, bug reports, and feature requests can be opened as GitHub issues.

About

Entity Framework Core provider for Access database

Resources

Stars

160 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EntityFrameworkCore.Jet

Build statusStable release feed for official buildsCI build feed for release buildsCI build feed for debugging enabled builds

EntityFrameworkCore.Jet is an Entity Framework Core provider for Microsoft Jet/ACE databases (supporting the Microsoft Access database file formats MDB and ACCDB).

Compatibility Matrix

EntityFrameworkCore.Jet VersionEntity Framework Core Version.NETNotes
11.0.x11.0.x11.0+Current development line
10.0.x10.0.x10.0+Supported
9.0.x9.0.x9.0+Supported
8.0.x8.0.x8.0+Alpha 2 onwards is compatible with EF Core RTM
7.0.x7.0.x6.0+
6.0.x6.0.x6.0+

The major version corresponds to the major version of EF Core (i.e. EFCore.Jet 3.x is compatible with EF Core 3.y). It runs on Windows operating systems only and can be used with either ODBC or OLE DB together with their respective Access Database driver/provider.

Requirements

EntityFrameworkCore.Jet requires:

  • Windows.
  • A Microsoft Access Database Engine driver/provider for either ODBC or OLE DB.
  • A process architecture (x86 or x64) that matches the installed Access driver/provider.

The provider works with Microsoft Access MDB and ACCDB database files.

Packages

Getting Started

Install the provider package for the data access technology you want to use:

dotnet add package EntityFrameworkCore.Jet.OleDb

or:

dotnet add package EntityFrameworkCore.Jet.Odbc

Configure your DbContext with the matching UseJet... extension method:

usingMicrosoft.EntityFrameworkCore;publicclassBloggingContext:DbContext{publicDbSet<Blog>Blogs=>Set<Blog>();protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder)=>optionsBuilder.UseJetOleDb(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Blogging.accdb");}publicclassBlog{publicintId{get;set;}publicstring?Url{get;set;}}

For ODBC, use UseJetOdbc instead:

optionsBuilder.UseJetOdbc(@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Data\Blogging.accdb;");

NuGet Feeds

Official Releases

All official releases are available on nuget.org.

CI Builds

CI publishes each build to MyGet. To use the latest CI builds, add a NuGet.config file to your solution root, add the feeds you are interested in and enable prereleases:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<addkey="efcorejet-daily"value="https://www.myget.org/F/cirrusred/api/v3/index.json" />
<addkey="efcorejet-daily-debug"value="https://www.myget.org/F/cirrusred-debug/api/v3/index.json" />
<addkey="nuget.org"value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

There are two CI build feeds available, one with (optimized) Release configuration builds and one with (unoptimized) Debug configuration builds. All packages use SourceLink.

Fluent API

In order to simplify writing code for more than just one provider, some Fluent API method names have been made specific to Jet. Examples are:

  • UseIdentityColumn -> UseJetIdentityColumn
  • UseIdentityColumns -> UseJetIdentityColumns

LibRed - native managed engine (in development)

LibRed is a from-scratch, fully managed implementation of the Jet/ACE engine that lives in this repository. It reads and writes MDB/ACCDB files directly - no ODBC, OLE DB, DAO or ADOX - so it removes both the Windows-only requirement and the need to match your process architecture to an installed Access driver.

It reads and writes real database files, runs SQL end to end, and an EF Core DbContext round-trips through it today. It is still in development and is not published as a NuGet package; the on-disk format it depends on is documented and verified in src/LibRed/docs/format/.

Further information

More information can be found on our Wiki.

Questions

Questions, bug reports, and feature requests can be opened as GitHub issues.

About

Entity Framework Core provider for Access database

Resources

Stars

160 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EntityFrameworkCore.Jet

Build statusStable release feed for official buildsCI build feed for release buildsCI build feed for debugging enabled builds

EntityFrameworkCore.Jet is an Entity Framework Core provider for Microsoft Jet/ACE databases (supporting the Microsoft Access database file formats MDB and ACCDB).

Compatibility Matrix

EntityFrameworkCore.Jet VersionEntity Framework Core Version.NETNotes
11.0.x11.0.x11.0+Current development line
10.0.x10.0.x10.0+Supported
9.0.x9.0.x9.0+Supported
8.0.x8.0.x8.0+Alpha 2 onwards is compatible with EF Core RTM
7.0.x7.0.x6.0+
6.0.x6.0.x6.0+

The major version corresponds to the major version of EF Core (i.e. EFCore.Jet 3.x is compatible with EF Core 3.y). It runs on Windows operating systems only and can be used with either ODBC or OLE DB together with their respective Access Database driver/provider.

Requirements

EntityFrameworkCore.Jet requires:

  • Windows.
  • A Microsoft Access Database Engine driver/provider for either ODBC or OLE DB.
  • A process architecture (x86 or x64) that matches the installed Access driver/provider.

The provider works with Microsoft Access MDB and ACCDB database files.

Packages

Getting Started

Install the provider package for the data access technology you want to use:

dotnet add package EntityFrameworkCore.Jet.OleDb

or:

dotnet add package EntityFrameworkCore.Jet.Odbc

Configure your DbContext with the matching UseJet... extension method:

usingMicrosoft.EntityFrameworkCore;publicclassBloggingContext:DbContext{publicDbSet<Blog>Blogs=>Set<Blog>();protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder)=>optionsBuilder.UseJetOleDb(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Blogging.accdb");}publicclassBlog{publicintId{get;set;}publicstring?Url{get;set;}}

For ODBC, use UseJetOdbc instead:

optionsBuilder.UseJetOdbc(@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Data\Blogging.accdb;");

NuGet Feeds

Official Releases

All official releases are available on nuget.org.

CI Builds

CI publishes each build to MyGet. To use the latest CI builds, add a NuGet.config file to your solution root, add the feeds you are interested in and enable prereleases:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<addkey="efcorejet-daily"value="https://www.myget.org/F/cirrusred/api/v3/index.json" />
<addkey="efcorejet-daily-debug"value="https://www.myget.org/F/cirrusred-debug/api/v3/index.json" />
<addkey="nuget.org"value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

There are two CI build feeds available, one with (optimized) Release configuration builds and one with (unoptimized) Debug configuration builds. All packages use SourceLink.

Fluent API

In order to simplify writing code for more than just one provider, some Fluent API method names have been made specific to Jet. Examples are:

  • UseIdentityColumn -> UseJetIdentityColumn
  • UseIdentityColumns -> UseJetIdentityColumns

LibRed - native managed engine (in development)

LibRed is a from-scratch, fully managed implementation of the Jet/ACE engine that lives in this repository. It reads and writes MDB/ACCDB files directly - no ODBC, OLE DB, DAO or ADOX - so it removes both the Windows-only requirement and the need to match your process architecture to an installed Access driver.

It reads and writes real database files, runs SQL end to end, and an EF Core DbContext round-trips through it today. It is still in development and is not published as a NuGet package; the on-disk format it depends on is documented and verified in src/LibRed/docs/format/.

Further information

More information can be found on our Wiki.

Questions

Questions, bug reports, and feature requests can be opened as GitHub issues.

About

Entity Framework Core provider for Access database

Resources

Stars

160 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

EntityFrameworkCore.Jet

Build statusStable release feed for official buildsCI build feed for release buildsCI build feed for debugging enabled builds

EntityFrameworkCore.Jet is an Entity Framework Core provider for Microsoft Jet/ACE databases (supporting the Microsoft Access database file formats MDB and ACCDB).

Compatibility Matrix

EntityFrameworkCore.Jet VersionEntity Framework Core Version.NETNotes
11.0.x11.0.x11.0+Current development line
10.0.x10.0.x10.0+Supported
9.0.x9.0.x9.0+Supported
8.0.x8.0.x8.0+Alpha 2 onwards is compatible with EF Core RTM
7.0.x7.0.x6.0+
6.0.x6.0.x6.0+

The major version corresponds to the major version of EF Core (i.e. EFCore.Jet 3.x is compatible with EF Core 3.y). It runs on Windows operating systems only and can be used with either ODBC or OLE DB together with their respective Access Database driver/provider.

Requirements

EntityFrameworkCore.Jet requires:

  • Windows.
  • A Microsoft Access Database Engine driver/provider for either ODBC or OLE DB.
  • A process architecture (x86 or x64) that matches the installed Access driver/provider.

The provider works with Microsoft Access MDB and ACCDB database files.

Packages

Getting Started

Install the provider package for the data access technology you want to use:

dotnet add package EntityFrameworkCore.Jet.OleDb

or:

dotnet add package EntityFrameworkCore.Jet.Odbc

Configure your DbContext with the matching UseJet... extension method:

usingMicrosoft.EntityFrameworkCore;publicclassBloggingContext:DbContext{publicDbSet<Blog>Blogs=>Set<Blog>();protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder)=>optionsBuilder.UseJetOleDb(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Blogging.accdb");}publicclassBlog{publicintId{get;set;}publicstring?Url{get;set;}}

For ODBC, use UseJetOdbc instead:

optionsBuilder.UseJetOdbc(@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Data\Blogging.accdb;");

NuGet Feeds

Official Releases

All official releases are available on nuget.org.

CI Builds

CI publishes each build to MyGet. To use the latest CI builds, add a NuGet.config file to your solution root, add the feeds you are interested in and enable prereleases:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<addkey="efcorejet-daily"value="https://www.myget.org/F/cirrusred/api/v3/index.json" />
<addkey="efcorejet-daily-debug"value="https://www.myget.org/F/cirrusred-debug/api/v3/index.json" />
<addkey="nuget.org"value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

There are two CI build feeds available, one with (optimized) Release configuration builds and one with (unoptimized) Debug configuration builds. All packages use SourceLink.

Fluent API

In order to simplify writing code for more than just one provider, some Fluent API method names have been made specific to Jet. Examples are:

  • UseIdentityColumn -> UseJetIdentityColumn
  • UseIdentityColumns -> UseJetIdentityColumns

LibRed - native managed engine (in development)

LibRed is a from-scratch, fully managed implementation of the Jet/ACE engine that lives in this repository. It reads and writes MDB/ACCDB files directly - no ODBC, OLE DB, DAO or ADOX - so it removes both the Windows-only requirement and the need to match your process architecture to an installed Access driver.

It reads and writes real database files, runs SQL end to end, and an EF Core DbContext round-trips through it today. It is still in development and is not published as a NuGet package; the on-disk format it depends on is documented and verified in src/LibRed/docs/format/.

Further information

More information can be found on our Wiki.

Questions

Questions, bug reports, and feature requests can be opened as GitHub issues.

About

Entity Framework Core provider for Access database

Resources

Stars

160 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EntityFrameworkCore.Jet

Build statusStable release feed for official buildsCI build feed for release buildsCI build feed for debugging enabled builds

EntityFrameworkCore.Jet is an Entity Framework Core provider for Microsoft Jet/ACE databases (supporting the Microsoft Access database file formats MDB and ACCDB).

Compatibility Matrix

EntityFrameworkCore.Jet VersionEntity Framework Core Version.NETNotes
11.0.x11.0.x11.0+Current development line
10.0.x10.0.x10.0+Supported
9.0.x9.0.x9.0+Supported
8.0.x8.0.x8.0+Alpha 2 onwards is compatible with EF Core RTM
7.0.x7.0.x6.0+
6.0.x6.0.x6.0+

The major version corresponds to the major version of EF Core (i.e. EFCore.Jet 3.x is compatible with EF Core 3.y). It runs on Windows operating systems only and can be used with either ODBC or OLE DB together with their respective Access Database driver/provider.

Requirements

EntityFrameworkCore.Jet requires:

  • Windows.
  • A Microsoft Access Database Engine driver/provider for either ODBC or OLE DB.
  • A process architecture (x86 or x64) that matches the installed Access driver/provider.

The provider works with Microsoft Access MDB and ACCDB database files.

Packages

Getting Started

Install the provider package for the data access technology you want to use:

dotnet add package EntityFrameworkCore.Jet.OleDb

or:

dotnet add package EntityFrameworkCore.Jet.Odbc

Configure your DbContext with the matching UseJet... extension method:

usingMicrosoft.EntityFrameworkCore;publicclassBloggingContext:DbContext{publicDbSet<Blog>Blogs=>Set<Blog>();protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder)=>optionsBuilder.UseJetOleDb(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Blogging.accdb");}publicclassBlog{publicintId{get;set;}publicstring?Url{get;set;}}

For ODBC, use UseJetOdbc instead:

optionsBuilder.UseJetOdbc(@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Data\Blogging.accdb;");

NuGet Feeds

Official Releases

All official releases are available on nuget.org.

CI Builds

CI publishes each build to MyGet. To use the latest CI builds, add a NuGet.config file to your solution root, add the feeds you are interested in and enable prereleases:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<addkey="efcorejet-daily"value="https://www.myget.org/F/cirrusred/api/v3/index.json" />
<addkey="efcorejet-daily-debug"value="https://www.myget.org/F/cirrusred-debug/api/v3/index.json" />
<addkey="nuget.org"value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

There are two CI build feeds available, one with (optimized) Release configuration builds and one with (unoptimized) Debug configuration builds. All packages use SourceLink.

Fluent API

In order to simplify writing code for more than just one provider, some Fluent API method names have been made specific to Jet. Examples are:

  • UseIdentityColumn -> UseJetIdentityColumn
  • UseIdentityColumns -> UseJetIdentityColumns

LibRed - native managed engine (in development)

LibRed is a from-scratch, fully managed implementation of the Jet/ACE engine that lives in this repository. It reads and writes MDB/ACCDB files directly - no ODBC, OLE DB, DAO or ADOX - so it removes both the Windows-only requirement and the need to match your process architecture to an installed Access driver.

It reads and writes real database files, runs SQL end to end, and an EF Core DbContext round-trips through it today. It is still in development and is not published as a NuGet package; the on-disk format it depends on is documented and verified in src/LibRed/docs/format/.

Further information

More information can be found on our Wiki.

Questions

Questions, bug reports, and feature requests can be opened as GitHub issues.

About

Entity Framework Core provider for Access database

Resources

Stars

160 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

EntityFrameworkCore.Jet

Build statusStable release feed for official buildsCI build feed for release buildsCI build feed for debugging enabled builds

EntityFrameworkCore.Jet is an Entity Framework Core provider for Microsoft Jet/ACE databases (supporting the Microsoft Access database file formats MDB and ACCDB).

Compatibility Matrix

EntityFrameworkCore.Jet VersionEntity Framework Core Version.NETNotes
11.0.x11.0.x11.0+Current development line
10.0.x10.0.x10.0+Supported
9.0.x9.0.x9.0+Supported
8.0.x8.0.x8.0+Alpha 2 onwards is compatible with EF Core RTM
7.0.x7.0.x6.0+
6.0.x6.0.x6.0+

The major version corresponds to the major version of EF Core (i.e. EFCore.Jet 3.x is compatible with EF Core 3.y). It runs on Windows operating systems only and can be used with either ODBC or OLE DB together with their respective Access Database driver/provider.

Requirements

EntityFrameworkCore.Jet requires:

  • Windows.
  • A Microsoft Access Database Engine driver/provider for either ODBC or OLE DB.
  • A process architecture (x86 or x64) that matches the installed Access driver/provider.

The provider works with Microsoft Access MDB and ACCDB database files.

Packages

Getting Started

Install the provider package for the data access technology you want to use:

dotnet add package EntityFrameworkCore.Jet.OleDb

or:

dotnet add package EntityFrameworkCore.Jet.Odbc

Configure your DbContext with the matching UseJet... extension method:

usingMicrosoft.EntityFrameworkCore;publicclassBloggingContext:DbContext{publicDbSet<Blog>Blogs=>Set<Blog>();protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder)=>optionsBuilder.UseJetOleDb(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Blogging.accdb");}publicclassBlog{publicintId{get;set;}publicstring?Url{get;set;}}

For ODBC, use UseJetOdbc instead:

optionsBuilder.UseJetOdbc(@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Data\Blogging.accdb;");

NuGet Feeds

Official Releases

All official releases are available on nuget.org.

CI Builds

CI publishes each build to MyGet. To use the latest CI builds, add a NuGet.config file to your solution root, add the feeds you are interested in and enable prereleases:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<addkey="efcorejet-daily"value="https://www.myget.org/F/cirrusred/api/v3/index.json" />
<addkey="efcorejet-daily-debug"value="https://www.myget.org/F/cirrusred-debug/api/v3/index.json" />
<addkey="nuget.org"value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

There are two CI build feeds available, one with (optimized) Release configuration builds and one with (unoptimized) Debug configuration builds. All packages use SourceLink.

Fluent API

In order to simplify writing code for more than just one provider, some Fluent API method names have been made specific to Jet. Examples are:

  • UseIdentityColumn -> UseJetIdentityColumn
  • UseIdentityColumns -> UseJetIdentityColumns

LibRed - native managed engine (in development)

LibRed is a from-scratch, fully managed implementation of the Jet/ACE engine that lives in this repository. It reads and writes MDB/ACCDB files directly - no ODBC, OLE DB, DAO or ADOX - so it removes both the Windows-only requirement and the need to match your process architecture to an installed Access driver.

It reads and writes real database files, runs SQL end to end, and an EF Core DbContext round-trips through it today. It is still in development and is not published as a NuGet package; the on-disk format it depends on is documented and verified in src/LibRed/docs/format/.

Further information

More information can be found on our Wiki.

Questions

Questions, bug reports, and feature requests can be opened as GitHub issues.

About

Entity Framework Core provider for Access database

Resources

Stars

160 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

EntityFrameworkCore.Jet

Build statusStable release feed for official buildsCI build feed for release buildsCI build feed for debugging enabled builds

EntityFrameworkCore.Jet is an Entity Framework Core provider for Microsoft Jet/ACE databases (supporting the Microsoft Access database file formats MDB and ACCDB).

Compatibility Matrix

EntityFrameworkCore.Jet VersionEntity Framework Core Version.NETNotes
11.0.x11.0.x11.0+Current development line
10.0.x10.0.x10.0+Supported
9.0.x9.0.x9.0+Supported
8.0.x8.0.x8.0+Alpha 2 onwards is compatible with EF Core RTM
7.0.x7.0.x6.0+
6.0.x6.0.x6.0+

The major version corresponds to the major version of EF Core (i.e. EFCore.Jet 3.x is compatible with EF Core 3.y). It runs on Windows operating systems only and can be used with either ODBC or OLE DB together with their respective Access Database driver/provider.

Requirements

EntityFrameworkCore.Jet requires:

  • Windows.
  • A Microsoft Access Database Engine driver/provider for either ODBC or OLE DB.
  • A process architecture (x86 or x64) that matches the installed Access driver/provider.

The provider works with Microsoft Access MDB and ACCDB database files.

Packages

Getting Started

Install the provider package for the data access technology you want to use:

dotnet add package EntityFrameworkCore.Jet.OleDb

or:

dotnet add package EntityFrameworkCore.Jet.Odbc

Configure your DbContext with the matching UseJet... extension method:

usingMicrosoft.EntityFrameworkCore;publicclassBloggingContext:DbContext{publicDbSet<Blog>Blogs=>Set<Blog>();protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder)=>optionsBuilder.UseJetOleDb(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Blogging.accdb");}publicclassBlog{publicintId{get;set;}publicstring?Url{get;set;}}

For ODBC, use UseJetOdbc instead:

optionsBuilder.UseJetOdbc(@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Data\Blogging.accdb;");

NuGet Feeds

Official Releases

All official releases are available on nuget.org.

CI Builds

CI publishes each build to MyGet. To use the latest CI builds, add a NuGet.config file to your solution root, add the feeds you are interested in and enable prereleases:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<addkey="efcorejet-daily"value="https://www.myget.org/F/cirrusred/api/v3/index.json" />
<addkey="efcorejet-daily-debug"value="https://www.myget.org/F/cirrusred-debug/api/v3/index.json" />
<addkey="nuget.org"value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

There are two CI build feeds available, one with (optimized) Release configuration builds and one with (unoptimized) Debug configuration builds. All packages use SourceLink.

Fluent API

In order to simplify writing code for more than just one provider, some Fluent API method names have been made specific to Jet. Examples are:

  • UseIdentityColumn -> UseJetIdentityColumn
  • UseIdentityColumns -> UseJetIdentityColumns

LibRed - native managed engine (in development)

LibRed is a from-scratch, fully managed implementation of the Jet/ACE engine that lives in this repository. It reads and writes MDB/ACCDB files directly - no ODBC, OLE DB, DAO or ADOX - so it removes both the Windows-only requirement and the need to match your process architecture to an installed Access driver.

It reads and writes real database files, runs SQL end to end, and an EF Core DbContext round-trips through it today. It is still in development and is not published as a NuGet package; the on-disk format it depends on is documented and verified in src/LibRed/docs/format/.

Further information

More information can be found on our Wiki.

Questions

Questions, bug reports, and feature requests can be opened as GitHub issues.

About

Entity Framework Core provider for Access database

Resources

Stars

160 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages