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.

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
AlterSequence
CreateIndex
CreateSchema
CreateSequence
CreateTable
DropColumn
DropForeignKey
DropIndex
DropPrimaryKey
DropSchema
DropSequence
DropTable
DropUniqueConstraint
RenameColumn
RenameIndex
RenameSequence
RenameTable
RestartSequence

Tip

You can workaround some of these limitations by manually writing code in your migrations to perform a table rebuild. A table rebuild involves renaming the existing table, creating a new table, copying data to the new table, and dropping the old table. You will need to use the Sql(string) method to perform some of these steps.

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.

Clone this wiki locally