-
Notifications
You must be signed in to change notification settings - Fork 40
Update to .Net6 #131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to .Net6 #131
Conversation
…s compaitiblity so that code written for multiple databases doesn't error. For Jet, the function won't do anything
…expressions manually. Fixes queries with conversions
… an integer, make it the identity column. This wasn't being set by default
… named for the test - gives each test a unique name so doesnt interfere with others at the same time. The rest of the tests already use it, these couple were just missed
… (bool, int,double,datetime,byte,decimal,single)
…g was overriding the Nullable Translator
…terceptor, it has already gotten the original commandText. Any comparisons between the actual result and the interceptor would fail
…will always return as a default 0 (a non null value), if TryGetDefaultValue fails. Thus the wrong ValueGenerationStrategy is returned
…on on a Clr type which is an enum
… regex depends on using this format to pick the filename from the connection string
…n VS will work now
Any on update on this? Thank you! |
.net 7 is out! It's a good moment to do this merge now and maybe start with changes for .net 7. Things are moving fast! |
Hi @ChrisJollyAU . I cloned a fresh copy of your net6 repo and migrated stuff to .net 7, there are some changes in some visitors that makes the existing code not to compile, however they're 4 or 5 source code files only that needs to be fixed. There are some deprecated methods issues too. |
@nicovil try the ef7 branch then |
@ChrisJollyAU Oh :) I have also made a test .net 7 build of the subject codebase and I have run the tests:
I missed your .Net7 branch, I will watch its progress now . In the case any help with the tests' fixes is needed I may try to contribute. Thank you for your great work! |
Just to keep this PR dedicated to .Net 6, use #132 for anything EF 7 related |
…is case insensitive
@bubibubi is there a reason that this PULL-Request is ignored? Would be really cool to officially provide the .NET 6 release! Btw: Thanks a lot to @ChrisJollyAU |
@timecreators I'd love to merge it too. Would do it if I had the permissions. In the meantime, I'm just trying to get all the SQL for the tests up to date and outputting as expected. Then to try sort out any further errors |
So sorry about this... I'm working hard on another project so I can just follow your great work. |
@ChrisJollyAU you should be able to merge now. |
@bubibubi Thanks. Going to look into merging it in the next couple of days. Also will have a look at making a nuget release if I have the permissions |
@bubibubi @ChrisJollyAU A big thank you for your effort! |
For all those following, this has now been merged into the master branch |
@ChrisJollyAU Great work, thank you! I have just used the new version on my box with .NET 7 and VS 2022. I have changed
and I have run all the tests. Here are the results:
|
@ShamilS you would still be targeting ef core 6 not ef core 7. Also, doesn't look like you are running most of the functionaltests. From your results most are shown as not run |
@ChrisJollyAU I intentionally did so - just to see how it will work. I do not have .NET 6 at all on my main development PC now.
Do these results look similar to yours? I have then used another box with .NET 6 SDK v. 6.0.306 - the results for
are the same as for .NET7. Should dotnet CLI be used to run the tests to have all of them running in proper order? (VS2022 Test Explorer Runner seems to be trying to run the tests (from different test projects) in parallel. |
@ShamilS I have the same as you, but for my FunctionalTests this is the result Outcomes |
@ChrisJollyAU Great news! My I assume that your current version of the Now if I log the I'm running the tests here using the following dotnet CLI command line:
But when I run the functional tests by the above command line I'm getting the following total stats:
IOW, quite a few tests do not run somehow at all. How should I change the dotnet CLI command line to have all/most of the tests running? Is there an (easy built-in into dotnet CLI options) way to collect just the names of the failed tests' classes and methods? AFAIS I can write a simple code to collect the failed methods' and their classes(?) by parsing log file search for the ....
...
... Thank you. P.S. Here is my test environment - it's a new laptop without any legacy .NET versions.
|
@ShamilS Just changing the global.json is just changing the SDK used to compile it with. It doesn't change the target framework and any other references. In one of your results you can still see the (net6.0) at the end. There's not really a .Net 7 specific version out that will be out. EFCore.Jet is really tied to the related version of Entity Framework Core. So far EFCore and .Net (Core) have been linked (as in the version of EF Core can only be used with the same version of .Net Core). This has changed with EF Core 7 as instead of it being only for .Net 7, you can use it on both .Net 6 and .Net 7. That's why #132 refers to EF Core 7 rather than .Net 7 |
@ChrisJollyAU Thank you for your explanations. Still the question is why there are two more successful tests on your side when running tests from withing VS2022 and what are these failed here two tests? What should be the dotnet CLI command line to run all the tests of the If you don't have an out-of-hand answer on the latter question - just ignore both. If you do have - please post here the dotnet CLI command. |
After a lot of work recently, this seems to be stable enough to merge to the main branch
It has been updated to .Net/EF Core 6 with all the latest dependencies. Most standard things are working with the exception of the normal Jet limitations (Schemas, computed columns, sequences, no skip...take and some basic types that have no equivalent in Jet e.g. DateTimeOffset, TimeSpan, DateOnly, TimeOnly)
Tests: A large number of tests have been updated to make sure they compile and work.
Most tests now that do fail in general fall in one of 2 categories
2.1. Some of these are because EF Core itself has changed since the test was last looked at and the SQL is by default different
2.2. Others are because of certain functions have to be rewritten for Jet. Most common are the CASE...WHEN, CAST, COALESCE statements which have been rewritten using IIF statements
Will be continuing work on getting more tests working
@lauxjpn or @bubibubi Can we look at getting this merged