Christopher Jolly
944843bfad
Some datetime parameters don't work unless they have been properly converted
2 years ago
Christopher Jolly
70af0c286c
Set query splitting behaviour. Prevents errors due to it not being set
2 years ago
Christopher Jolly
629398c76b
Set CanExecuteQueryString to false. When running tests, if it is set to true, the Query Asserter will also try to create a query string from the IQueryable. While most cases are fine, the problem comes in when there are parameters. Creating the query string declares the parameters and values at the beginning of the query and the DbCommand is set up with no parameters. While this can work in Sql Server (see the DECLARE keyword), this is not supported with Jet.
...
The Query Asserter already runs the CreateDbCommand on the IQueryable which creates the DbCommand with the parameters all set up. Creating the query string and running that as a separate command is not really necessary.
By the looks of it this only affects the test system which specifically creates a query string from an IQueryable and creates a new DbCommand with that as the command text. It doesn't seem to affect anywhere else
2 years ago
Christopher Jolly
3ef1503bb9
Translate the Atan2 function
2 years ago
Christopher Jolly
5e32650f6d
Dispose of any new JetCommands created when splitting commands properly. This were not being disposed of and still holding a link to the database thereby preventing some file access e.g. Deleting a file
2 years ago
Christopher Jolly
424c9fc8f3
Update dependencies
2 years ago
Christopher Jolly
3f5c1b6005
Make sure a DateTime in a constant has a DateTime Type Mapping
2 years ago
Christopher Jolly
429c67ca3a
Some skip...take optimization and fix using multiple take after a skip
3 years ago
Christopher Jolly
cbf7daca08
Update tests for Skip...Take
3 years ago
Christopher Jolly
8c9dff5d36
Initial support for Skip....Take. Take...Skip and Skip currently do not work properly
3 years ago
Christopher Jolly
d7268307bc
Fix generating a custom OleDbException for the tests
3 years ago
Christopher Jolly
54a53915bc
v7.0.2
3 years ago
Christopher Jolly
fd57f4a3bd
Rename some extension methods so that it doesn't interfere with other providers (namely sql server)
3 years ago
Christopher Jolly
fd6c2aec01
Revert ca0feb49 . Same name extensions when using sql server and jet
3 years ago
Christopher Jolly
84e40f5085
Fix some string resources
3 years ago
Christopher Jolly
a34dafb7bd
Update version for nuget
3 years ago
Christopher Jolly
595a68e5e4
Update azure-pipelines.yml
3 years ago
Christopher Jolly
6bf5bba937
Merge pull request #139 from 0xced/delete-unnecessary-references
...
Remove unnecessary references in `EntityFrameworkCore.Jet.Data`
3 years ago
Cédric Luthi
cbb3f94440
Remove unnecessary references in `EntityFrameworkCore.Jet.Data`
...
Now that `EntityFrameworkCore.Jet.Data` targets `net6.0` those references are not required anymore.
Note that the `Microsoft.Win32.Registry` package reference was the root cause of the failure to publish the `EntityFrameworkCore.Jet.Data` 7.0.0 package because of [warning NU5104][1] (treated as error):
> A stable release of a package should not have a prerelease dependency. Either modify the version spec of dependency "Microsoft.Win32.Registry [6.0.0-preview.5.21301.5, )" or update the version field in the nuspec.
[1]: https://bubibubi.visualstudio.com/EntityFrameworkCore.Jet/_build/results?buildId=280&view=logs&j=67ea8d94-b5a7-504b-2d4b-07baddfad3f1&t=1e07b7f6-b7a1-55f6-9cca-c04683790a41&l=37
3 years ago
Christopher Jolly
3cfed1cb8f
Update README.md
...
Add a compatibility matrix
3 years ago
Christopher Jolly
0c8e8d296d
7.0.0 RTM
3 years ago
Christopher Jolly
d668fe7f16
Update tests
3 years ago
Christopher Jolly
a9c2f36da5
Jet conversion functions like Cdbl/Csng/CLng don't accept or propogate null values. Normally we can just use an IIF to check if the expression is null or not. That does work fine but here we also check if the base expression is nullable. If the base expression will never return null we can simplify and just use the base expression rather than test for null
3 years ago
Christopher Jolly
6963a165e5
The result of the Round function is never null
3 years ago
Christopher Jolly
c8e109fb94
Jet can't candle a left join straight after a cross join. We have to push the cross join specifically down into its own subquery and then do a left join on that
3 years ago
Christopher Jolly
6230db2803
Merge branch 'master' of https://github.com/bubibubi/EntityFrameworkCore.Jet
3 years ago
Christopher Jolly
61b277d11c
Update dependencies and some test fixes
3 years ago
Christopher Jolly
256163dcf7
Merge pull request #138 from 0xced/JetConnectionStringBuilder
...
Introduce a new typed JetConnectionStringBuilder
3 years ago
Cédric Luthi
83c29e4c43
Introduce a new typed JetConnectionStringBuilder
...
This makes it easier to use than the extensions (EntityFrameworkCore.Jet.Data.DbConnectionStringBuilderExtensions) with Get/Set methods.
With the new `JetConnectionStringBuilder` class:
```csharp
var csb = new JetConnectionStringBuilder(DataAccessProviderType.OleDb)
{
Provider = "Microsoft.ACE.OLEDB.12.0",
DataSource = @"C:\myFolder\myAccessFile.accdb",
DatabasePassword = "hunter2",
};
var connectionString = csb.ConnectionString;
```
Without the new `JetConnectionStringBuilder` class:
```csharp
var csb = new OleDbConnectionStringBuilder();
csb.SetProvider("Microsoft.ACE.OLEDB.12.0");
csb.SetDataSource(@"C:\myFolder\myAccessFile.accdb");
csb.SetDatabasePassword("hunter2");
var connectionString = csb.ConnectionString;
```
3 years ago
Christopher Jolly
0dff2ea1ca
Merge pull request #137 from 0xced/SupportedOSPlatform
...
Make EntityFrameworkCore.Jet available on `net6.0`
3 years ago
Cédric Luthi
c795ce6228
Make EntityFrameworkCore.Jet available on `net6.0`
...
By using `[SupportedOSPlatform("windows")]` at assembly level instead of targeting `net6.0-windows`.
This will enable taking a dependency on the EntityFrameworkCore.Jet* NuGet packages on Linux and macOS. The consumer of EntityFrameworkCore.Jet can then decide how to handle [CA1416][1] either by adding `[SupportedOSPlatform("windows")]`, by targeting `net6.0-windows` or by testing `OperatingSystem.IsWindows()` at runtime.
[1]: https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1416
3 years ago
Christopher Jolly
1e73673f05
Set RC 1
3 years ago
Christopher Jolly
d19854b3e6
update Dependencies
3 years ago
Christopher Jolly
12aca42198
Add option to use the normal short text type when mapping against an unbounded System.String instead of long text/memo. Jet has limitations when using memo (e.g. joins are not supported)
3 years ago
Christopher Jolly
950089a113
Set the precision to be maximum of 28 (Jet limit).
...
When using property.HasConversion<decimal>() the default for EF Core is with precision 38 and scale 17 which is passed Jet's limit
3 years ago
Christopher Jolly
acc3fd5223
Revert "Set the precision to be maximum of 28 (Jet limit)."
...
This reverts commit a1904bf113 .
3 years ago
Christopher Jolly
a1904bf113
Set the precision to be maximum of 28 (Jet limit).
...
When using property.HasConversion<decimal>() the default for EF Core is with precision 38 and scale 17 which is passed Jet's limit
3 years ago
Christopher Jolly
dc049d804d
Do the same clr type check when mapping "text" as what we do for other store type mappings. This allows conversions do work better (e.g. originally a mappingInfo with a System.Char type was passed in with store type of "text" and a variable length or unbounded string type was returned but with clr type of System.String. Going with the extra checked returns null and gets EF Core to find a converter and then do the mapping again on the converted type
3 years ago
Christopher Jolly
ee54f1fac0
Use MidB/InstrB for the byte versions. (still doesnt produce correct results yet)
3 years ago
Christopher Jolly
7de8811773
Some tests adjustments
3 years ago
Christopher Jolly
ee30910fa9
Update the ValueGeneratorSelector to current ef core style. Don't rely on sequential guid's as Jet doesn't order them properly (treats them as string as sorts them numerically/alphabetically)
3 years ago
Christopher Jolly
0eb8baefa9
Add a clause/filter to the index to ignore nulls
3 years ago
Christopher Jolly
306585af13
When dealing with convert, if we don't have a specific conversion function, try just send the original operand and let Jet work with the types. Seems to be fairly lenient
3 years ago
Christopher Jolly
6cb1748237
Remove sbyte from clr mappings. Not needed as EF Core will use automatic conversions for those types. EF Core SQL Server behaves the same
3 years ago
Christopher Jolly
9489bc4564
Jet seems to output bytes only as an array. so a single byte becomes a byte[1] array. Return the first byte of that array in this instance
3 years ago
Christopher Jolly
3b0bc7d5ad
Fix the GetValueGenerated function. Was not being called and as such for an identity the ValueGenerated.OnAdd was not being set
3 years ago
Christopher Jolly
89515bb01a
Fix some tests to catch DbException and its derived types. Thus catching OdbcException or OleDbException depending on which provider the tests were using
3 years ago
Christopher Jolly
b23483ce45
Test fixes for escaping wild chars
3 years ago
Christopher Jolly
78f3dbae15
Use our own Byte type mapping for generating the correct string literal
3 years ago
Christopher Jolly
bc5b51fa4a
Fix check against typeof JetBoolTypeMapping. For the tests Everything is Bytes/Strings all type mappings are the same which makes the check not behave correctly
3 years ago