Skip to content

Limitations

Bubi edited this page Sep 16, 2017 · 6 revisions

Jet Limitations

When using the Jet provider, there are a few limitations you should be aware of. Most of these are a result of limitations in the underlying database engine and are not specific to Entity Framework Core.

Target CPU Limitations

EntityFrameworkCore.Jet uses OleDB provider for Microsoft Access to access to mdb and accdb files. Microsoft says that only 32bit or 64bit of the OleDB provider can be installed (but you can find some articles to install both). If you have Microsoft Access installed, the platform of the OleDB provider is the same of Microsoft Access (usually 32bits). When you compile your .Net application you have to choose the right Platform or it could not run. The provider published on NuGet (https://www.nuget.org/packages/EntityFrameworkCore.Jet/) is compiled with AnyCPU Platform.

Modeling Limitations

The common relational library (shared by Entity Framework relational database providers) defines APIs for modelling concepts that are common to most relational database engines. Unsupported concepts:

  • Schemas
  • Sequences
  • Rowversion

Unsupported concepts implemented by the provider with some limitations:

  • Guid

Unsupported concepts masked by the provider:

  • DateTimeOffsett
  • Ansi strings

Migrations Limitations

The Jet database engine does not support some schema operations that are supported by the majority of other relational databases. These operations are implemented using ADOX dll. If the dll is not installed the provider runs but some of the migration operations are not supported.

Operation Native DDL Support ADOX Support
AddColumn
AddForeignKey
AddPrimaryKey
AddUniqueConstraint
AlterColumn
CreateIndex
CreateTable
DropColumn
DropForeignKey
DropIndex
DropPrimaryKey
DropTable
DropUniqueConstraint
RenameColumn
RenameIndex
RenameTable
AlterSequence
CreateSchema
CreateSequence
DropSchema
DropSequence
RenameSequence
RestartSequence

Foreign key Limitations

Common databases consider a reference null if one of the columns of the foreign key constraint is null. On Jet, to have a null reference, all the columns of a foreign key constraint must be set to null.