You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
EntityFrameworkCore.Jet/docs/DevNotes.md

3.4 KiB

Notes for Developers/Builders

Important Notes as of Feb 21, 2020

  • System.Data.OleDb currently has several issues with x86, testing on x64 is recommended.

System.Data.OleDb Issues

Nuget.Config

  • Used to get latest nightly builds of System.Data.OleDb
  • When a public release is posted to NuGet.org, having the NuGet.Config file likely won't be necessary

.NET Core 3.0/3.1 Issues

  • using the dynamic keyword with COM objects not supported on .NET Core 3.0/3.1
  • instead, System.Data.Jet.csproj includes two COMReference nodes for ADODB.dll & ADOX.dll, which generate strongly-typed references to these packages. No x86/x64 issues have been encountered during preliminary tests, but I believe .NET 5.0 may support using the dynamic keyword with COM objects, so the code could possibly be reverted to the way it was, if issues with the COM wrappers are found.
  • Affects AdoxWrapper.cs, JetStoreSchemaDefinitionRetrieve.cs & JetSyntaxHelper.cs
  • FYI: Paths to msadox.dll:
    • C:\Program Files\Common Files\System\ado
    • C:\Program Files (x86)\Common Files\System\ado

Directory.Build.targets

  • Used due to conflict between the EF Core 2.2 and .NET Core 3.1 versions of IAsyncGrouping<,> & IAsyncEnumerable<>. Invoked via setting an Alias attribute on the appropriate PackageReference.
  • Affects SharedTypeExtensions.cs

Test Design Guidelines

  • Consider extracting out global test configuration settings to a single file:
    • Provider [string]: "Microsoft.ACE.OLEDB.15.0"
    • TempDirectoryPath [string]: "C:\TEMP"
    • RunSqlCeTests [bool] : true/false
    • RunSqlServerTests [bool] : true/false
    • RunSqliteTests [bool] : true/false

Prerequisites for Building/Running Tests

  • Install SQL Compact 4.0
    • x86 or x64 (whichever applies to the version of Windows used)
  • Install Microsoft Access 2013 Runtime (https://www.microsoft.com/en-us/download/details.aspx?id=39358)
    • x86, x64, or Both (not sure if installing both x86 and x64 side-by-side works properly)
  • The folder "C:\TEMP" must exist, certain tests will throw if it does not

Test Runner Issues

General Resources

Outdated Notes that Probably are No Longer Important

  • Probably want to set Visual Studio to use PackageReference instead of packages.config by default (Options->Nuget Package Manager)