Skip to content

Added Teradata.EntityFrameworkCore provider #1849

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 3 commits into from
Dec 17, 2019
Merged

Conversation

MaxG117
Copy link
Contributor

@MaxG117 MaxG117 commented Oct 14, 2019

  1. Added Teradata.EntityFrameworkCore.
    2. The database providers weren't sorted in any logical order, so I sorted the list alphabetically by NuGet Package name, with Microsoft.EntityFrameworkCore.* packages listed first due to being part of the EF Core Project.

1. Added Teradata.EntityFrameworkCore.
2. The database providers weren't sorted in any logical order, so I sorted the list alphabetically by NuGet Package name, with Microsoft.EntityFrameworkCore.* packages listed first due to being part of the EF Core Project.
@MaxG117 MaxG117 changed the title Update index.md Added a provider and ordered providers alphabetically Oct 14, 2019
@bricelam
Copy link
Contributor

bricelam commented Oct 16, 2019

My two three cents:

  1. Alphabetical seems useless, if I'm looking for a specific provider, I'm just going to Ctrl+F for the database engine I'm looking for anyway.
  2. Most popular is probably more useful, but there's also value in keeping first-party providers first since they're always up-to-date
  3. When is a provider too out-of-date to be on this list? EF Core 1.1, 1.0, are out of support and providers written against them won't work in newer versions.

@MaxG117
Copy link
Contributor Author

MaxG117 commented Oct 16, 2019

  1. Feel free to suggest an order or arrange in any way you see fit. I considered ordering by the database engine, but some providers support multiple engines.
  2. What do you consider a first-party provider, Microsoft or the database vendor? Only Microsoft providers are always up-to-date, but database vendors such as PostgreSQL, MySQL, Oracle, IBM, and Teradata should have priority over third-party vendors like independent developers or DevArt, for example. It seems that not all database vendors reserved their NuGet ID prefix, so verifying the first-party may require additional steps.
  3. Agreed -- perhaps the table should have another column to indicate the supported version of EFCore, and then we could use that as the first sort column.

@MaxG117
Copy link
Contributor Author

MaxG117 commented Oct 16, 2019

Speaking of "out of support", EF Core 2.2 will be out of support in December, but it contains breaking changes and new features that aren't available in the EF Core 2.1 that is LTS and will be supported for 2 more years. This does not make sense -- 2.2 should either not have had any breaking changes and new features, or it should have been made LTS (along with 2.1).

@ajcvickers
Copy link
Contributor

@bricelam I think we discussed this back when we were doing docs planning. However, I don't remember (and can't find) what we decided. Here are my thoughts:

  • Providers that work with the latest release should be given preference over providers that don't
  • We have the highest confidence that this is true for the providers we ship, so I think it makes sense for those to be listed first
  • For other providers in the general case we don't have any real way of knowing how well they work, or whether they work at all with the latest release
    • However, we do know than any 2.x provider won't work with 3.x unless it has been specifically, updated.
  • Therefore, I think it makes sense to have providers list include the latest release that the provider author asserts that the provider works with.
  • Providers that have been asserted to work with, for example, 3.0, then go above those not asserted to work 3.0.
  • Within these sub-lists we can order any way--alphabetical is fine.

Does that make sense? Am I making this too complicated?

@ajcvickers
Copy link
Contributor

@MaxG117 2.2 does not contain any intentional breaking changes from 2.1. That being said, I agree that 2.2 not being LTS is not ideal. Hopefully #18141 will make it possible for more people to move to 3.1 before 2.2 goes out of support.

@MaxG117
Copy link
Contributor Author

MaxG117 commented Oct 16, 2019

@ajcvickers

I agree that 2.2 not being LTS is not ideal.

That's good to hear. I targeted provider development to 2.2 because it had new features, without realizing it would go out of support before 2.1. It doesn't make much sense for me to go back down to 2.1. As a slower-moving database provider developer, because of this I'm now inclined to skip all the non-LTS releases entirely. This means that in the future I'm likely to skip 5.0 and 7.0, and I'm probably not the only one. Something for y'all to keep in mind.

Hopefully #18141 will make it possible for more people to move to 3.1 before 2.2 goes out of support.

More, maybe. I'm more concerned about the changes around Query.

@MaxG117
Copy link
Contributor Author

MaxG117 commented Oct 17, 2019

@ajcvickers @bricelam

So do you want me to reorder and resubmit/update the PR or are you going to do this? My more immediate goal was to get the Teradata provider listed, I just didn't know where to insert it.

@ajcvickers
Copy link
Contributor

@MaxG117 Feel free to submit a PR that adds it to the end of the list without doing any ordering changes. I filed #1899 for the ordering.

Restored the original order; added Teradata.EntityFrameworkCore to the end of the list.
@MaxG117
Copy link
Contributor Author

MaxG117 commented Dec 17, 2019

@ajcvickers I updated this PR to add a provider to the end of the list without reordering.

@MaxG117 MaxG117 changed the title Added a provider and ordered providers alphabetically Added Teradata.EntityFrameworkCore provider Dec 17, 2019
@ajcvickers
Copy link
Contributor

ajcvickers commented Dec 17, 2019

@MaxG117 I'm just coming back to this now; sorry for the long wait. I have merged #1864 from @ErikEJ . Now I'm going to do some cleanup, then hopefully we can rebase this on top of the results.

Was thinking these were changes to the same file, but they are not.

@ajcvickers ajcvickers merged commit 06919aa into dotnet:master Dec 17, 2019
@MaxG117 MaxG117 deleted the patch-1 branch December 18, 2019 00:52
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants