From 2ee359d3b676e3040178865ee03b7d73dc22bf8f Mon Sep 17 00:00:00 2001 From: Jiri Cincura Date: Fri, 6 Dec 2024 10:11:28 +0100 Subject: [PATCH 1/2] Update SQL Server documentation and general formatting fixes. --- entity-framework/core/providers/index.md | 80 +++++++++---------- .../sql-server/azure-sql-database.md | 2 +- .../core/providers/sql-server/functions.md | 8 ++ .../core/providers/sql-server/index.md | 13 ++- 4 files changed, 60 insertions(+), 43 deletions(-) diff --git a/entity-framework/core/providers/index.md b/entity-framework/core/providers/index.md index ea0590c66c..cf4bf683aa 100644 --- a/entity-framework/core/providers/index.md +++ b/entity-framework/core/providers/index.md @@ -18,46 +18,46 @@ Entity Framework Core can access many different databases through plug-in librar > [!IMPORTANT] > EF Core providers typically do not work across major versions. For example, a provider released for EF Core 7 will not work with EF Core 8. -| NuGet Package | Supported database engines | Maintainer / Vendor | Notes / Requirements | For EF Core | Useful links | -|----------------------------------------------------------------------------------------------------------------------|---------------------------------------|-------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Microsoft.EntityFrameworkCore.SqlServer](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.SqlServer) | Azure SQL and SQL Server 2012 onwards | [EF Core Project](https://github.com/dotnet/efcore/) (Microsoft) | | 6, 7, 8 | [docs](xref:core/providers/sql-server/index) | -| [Microsoft.EntityFrameworkCore.Sqlite](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite) | SQLite 3.7 onwards | [EF Core Project](https://github.com/dotnet/efcore/) (Microsoft) | | 6, 7, 8 | [docs](xref:core/providers/sqlite/index) | -| [Microsoft.EntityFrameworkCore.InMemory](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory) | EF Core in-memory database | [EF Core Project](https://github.com/dotnet/efcore/) (Microsoft) | [Limitations](xref:core/testing/testing-without-the-database#inmemory-provider) | 6, 7, 8 | [docs](xref:core/providers/in-memory/index) | -| [Microsoft.EntityFrameworkCore.Cosmos](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Cosmos) | Azure Cosmos DB SQL API | [EF Core Project](https://github.com/dotnet/efcore/) (Microsoft) | | 6, 7, 8 | [docs](xref:core/providers/cosmos/index) | -| [Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL) | PostgreSQL | [Npgsql Development Team](https://github.com/npgsql) | | 6, 7, 8 | [docs](https://www.npgsql.org/efcore/index.html) | -| [Pomelo.EntityFrameworkCore.MySql](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql) | MySQL, MariaDB | [Pomelo Foundation Project](https://github.com/PomeloFoundation) | | 6, 7, 8 | [readme](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/blob/master/README.md) | -| [MySql.EntityFrameworkCore](https://www.nuget.org/packages/MySql.EntityFrameworkCore) | MySQL | [MySQL project](https://dev.mysql.com) (Oracle) | | 6, 7 | [docs](https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core.html) | -| [Oracle.EntityFrameworkCore](https://www.nuget.org/packages/Oracle.EntityFrameworkCore/) | Oracle DB 11.2 onwards | [Oracle](https://www.oracle.com/technetwork/topics/dotnet/) | | 6, 7 | [website](https://www.oracle.com/technetwork/topics/dotnet/) | -| [MongoDB.EntityFrameworkCore](https://www.nuget.org/packages/MongoDB.EntityFrameworkCore/) | MongoDB | [MongoDB](https://www.mongodb.com/) | | 8 | [docs](https://www.mongodb.com/docs/entity-framework/current/) | -| [Devart.Data.MySql.EFCore](https://www.nuget.org/packages/Devart.Data.MySql.EFCore/) | MySQL 5 onwards | [DevArt](https://www.devart.com/dotconnect/mysql/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/mysql/GettingStarted.html) | -| [Devart.Data.Oracle.EFCore](https://www.nuget.org/packages/Devart.Data.Oracle.EFCore/) | Oracle DB 9.2.0.4 onwards | [DevArt](https://www.devart.com/dotconnect/oracle/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/oracle/GettingStarted.html) | -| [Devart.Data.PostgreSql.EFCore](https://www.nuget.org/packages/Devart.Data.PostgreSql.EFCore/) | PostgreSQL 8.0 onwards | [DevArt](https://www.devart.com/dotconnect/postgresql/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/postgresql/GettingStarted.html) | -| [Devart.Data.SQLite.EFCore](https://www.nuget.org/packages/Devart.Data.SQLite.EFCore/) | SQLite 3 onwards | [DevArt](https://www.devart.com/dotconnect/sqlite/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/sqlite/GettingStarted.html) | -| [Devart.Data.DB2.EFCore](https://www.nuget.org/packages/Devart.Data.DB2.EFCore) | DB2 | [DevArt](https://www.devart.com/dotconnect/db2/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/db2/GettingStarted.html) | -| [Devart.Data.Bigcommerce.EFCore](https://www.nuget.org/packages/Devart.Data.Bigcommerce.EFCore) | BigCommerce | [DevArt](https://www.devart.com/dotconnect/bigcommerce/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/bigcommerce/GettingStarted.html) | -| [Devart.Data.Dynamics.EFCore](https://www.nuget.org/packages/Devart.Data.Dynamics.EFCore) | Microsoft Dynamics 365 | [DevArt](https://www.devart.com/dotconnect/dynamicscrm/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/dynamics/GettingStarted.html) | -| [Devart.Data.FreshBooks.EFCore](https://www.nuget.org/packages/Devart.Data.FreshBooks.EFCore) | FreshBooks | [DevArt](https://www.devart.com/dotconnect/freshbooks/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/freshbooks/GettingStarted.html) | -| [Devart.Data.Magento.EFCore](https://www.nuget.org/packages/Devart.Data.Magento.EFCore) | Magento | [DevArt](https://www.devart.com/dotconnect/magento/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/magento/GettingStarted.html) | -| [Devart.Data.MailChimp.EFCore](https://www.nuget.org/packages/Devart.Data.MailChimp.EFCore) | Mailchimp | [DevArt](https://www.devart.com/dotconnect/mailchimp/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/mailchimp/GettingStarted.html) | -| [Devart.Data.QuickBooks.EFCore](https://www.nuget.org/packages/Devart.Data.QuickBooks.EFCore) | QuickBooks | [DevArt](https://www.devart.com/dotconnect/quickbooks/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/quickbooks/GettingStarted.html) | -| [Devart.Data.Salesforce.EFCore](https://www.nuget.org/packages/Devart.Data.Salesforce.EFCore) | Salesforce | [DevArt](https://www.devart.com/dotconnect/salesforce/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/salesforce/GettingStarted.html) | -| [Devart.Data.ExactTarget.EFCore](https://www.nuget.org/packages/Devart.Data.ExactTarget.EFCore) | Salesforce MC (ExactTarget) | [DevArt](https://www.devart.com/dotconnect/exacttarget/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/salesforcemc/GettingStarted.html) | -| [Devart.Data.Sugar.EFCore](https://www.nuget.org/packages/Devart.Data.Sugar.EFCore) | SugarCRM | [DevArt](https://www.devart.com/dotconnect/sugarcrm/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/sugarcrm/GettingStarted.html) | -| [Devart.Data.Zoho.EFCore](https://www.nuget.org/packages/Devart.Data.Zoho.EFCore) | Zoho CRM | [DevArt](https://www.devart.com/dotconnect/zohocrm/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/zohocrm/GettingStarted.html) | -| [MASES.EntityFrameworkCore.KNet](https://www.nuget.org/packages/MASES.EntityFrameworkCore.KNet/) | Apache Kafka | [MASES Group](https://masesgroup.com) | Trial, Subscription | 6, 7, 8 | [docs](https://kefcore.masesgroup.com/) | -| [InterBase](https://www.nuget.org/packages/InterBaseSql.EntityFrameworkCore.InterBase/) | InterBase | [InterBase](https://interbase.com/) | | 6 | [docs](https://docwiki.embarcadero.com/InterBase/2020/en/Entity_Framework) | -| [FirebirdSql.EntityFrameworkCore.Firebird](https://www.nuget.org/packages/FirebirdSql.EntityFrameworkCore.Firebird/) | Firebird 3.0 onwards | [Jiří Činčura](https://github.com/cincuranet) | | 8 | [docs](https://github.com/FirebirdSQL/NETProvider/blob/master/docs/entity-framework-core.md) | -| [IBM.EntityFrameworkCore](https://www.nuget.org/packages/IBM.EntityFrameworkCore) | Db2, Informix | [IBM](https://ibm.com) | Paid, Windows | 6 | [getting started](https://community.ibm.com/community/user/hybriddatamanagement/blogs/michelle-betbadal1/2020/04/29/getting-started-with-ibm-net-provider-for-net-core) | -| [IBM.EntityFrameworkCore-lnx](https://www.nuget.org/packages/IBM.EntityFrameworkCore-lnx) | Db2, Informix | [IBM](https://ibm.com) | Paid, Linux | 6 | [getting started](https://community.ibm.com/community/user/hybriddatamanagement/blogs/michelle-betbadal1/2020/04/29/getting-started-with-ibm-net-provider-for-net-core) | -| [IBM.EntityFrameworkCore-osx](https://www.nuget.org/packages/IBM.EntityFrameworkCore-osx) | Db2, Informix | [IBM](https://ibm.com) | Paid, macOS | 6 | [getting started](https://community.ibm.com/community/user/hybriddatamanagement/blogs/michelle-betbadal1/2020/04/29/getting-started-with-ibm-net-provider-for-net-core) | -| [EntityFrameworkCore.Jet](https://www.nuget.org/packages/EntityFrameworkCore.Jet/) | Microsoft Access files | [CirrusRedOrg](https://github.com/CirrusRedOrg) | Windows | 6, 7, 8 (Preview) | [readme](https://github.com/CirrusRedOrg/EntityFrameworkCore.Jet/blob/master/docs/README.md) | -| [Google.Cloud.EntityFrameworkCore.Spanner](https://www.nuget.org/packages/Google.Cloud.EntityFrameworkCore.Spanner) | Google Cloud Spanner | [Cloud Spanner Ecosystem](https://github.com/cloudspannerecosystem) | Currently in preview | 6 | [tutorial](https://medium.com/google-cloud/google-cloud-spanner-with-entity-framework-core-2ddd16d2b252) | -| [Teradata.EntityFrameworkCore](https://www.nuget.org/packages/Teradata.EntityFrameworkCore/) | Teradata Database 16.10 onwards | [Teradata](https://downloads.teradata.com/download/connectivity/net-data-provider-for-teradata) | | 3 | [website](https://www.nuget.org/packages/Teradata.EntityFrameworkCore/) | -| [FileContextCore](https://www.nuget.org/packages/FileContextCore/) | Stores data in files | [Morris Janatzek](https://github.com/morrisjdev) | For development purposes | 3 | [readme](https://github.com/morrisjdev/FileContextCore/blob/master/README.md) | -| [FileBaseContext](https://www.nuget.org/packages/FileBaseContext/) | Store tables in files | [k.D.g](https://github.com/dualbios) | For development purposes | 7, 8 | [readme](https://github.com/dualbios/FileBaseContext/blob/main/README.md) | -| [EntityFrameworkCore.SqlServerCompact35](https://www.nuget.org/packages/EntityFrameworkCore.SqlServerCompact35) | SQL Server Compact 3.5 | [Erik Ejlskov Jensen](https://github.com/ErikEJ/) | .NET Framework | 2 | [wiki](https://github.com/ErikEJ/EntityFramework.SqlServerCompact/wiki/Using-EF-Core-with-SQL-Server-Compact-in-Traditional-.NET-Applications) | -| [EntityFrameworkCore.SqlServerCompact40](https://www.nuget.org/packages/EntityFrameworkCore.SqlServerCompact40) | SQL Server Compact 4.0 | [Erik Ejlskov Jensen](https://github.com/ErikEJ/) | .NET Framework | 2 | [wiki](https://github.com/ErikEJ/EntityFramework.SqlServerCompact/wiki/Using-EF-Core-with-SQL-Server-Compact-in-Traditional-.NET-Applications) | -| [EntityFrameworkCore.OpenEdge](https://www.nuget.org/packages/EntityFrameworkCore.OpenEdge/) | Progress OpenEdge | [Alex Wiese](https://github.com/alexwiese) | | 2 | [readme](https://github.com/alexwiese/EntityFrameworkCore.OpenEdge/blob/master/README.md) | +| NuGet Package | Supported database engines | Maintainer / Vendor | Notes / Requirements | For EF Core | Useful links | +|----------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------|-------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Microsoft.EntityFrameworkCore.SqlServer](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.SqlServer) | Azure SQL, SQL Server 2012 onwards, Azure Synapse Analytics | [EF Core Project](https://github.com/dotnet/efcore/) (Microsoft) | | 6, 7, 8 | [docs](xref:core/providers/sql-server/index) | +| [Microsoft.EntityFrameworkCore.Sqlite](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite) | SQLite 3.46.1 onwards | [EF Core Project](https://github.com/dotnet/efcore/) (Microsoft) | | 6, 7, 8 | [docs](xref:core/providers/sqlite/index) | +| [Microsoft.EntityFrameworkCore.InMemory](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory) | EF Core in-memory database | [EF Core Project](https://github.com/dotnet/efcore/) (Microsoft) | [Limitations](xref:core/testing/testing-without-the-database#inmemory-provider) | 6, 7, 8 | [docs](xref:core/providers/in-memory/index) | +| [Microsoft.EntityFrameworkCore.Cosmos](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Cosmos) | Azure Cosmos DB SQL API | [EF Core Project](https://github.com/dotnet/efcore/) (Microsoft) | | 6, 7, 8 | [docs](xref:core/providers/cosmos/index) | +| [Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL) | PostgreSQL | [Npgsql Development Team](https://github.com/npgsql) | | 6, 7, 8 | [docs](https://www.npgsql.org/efcore/index.html) | +| [Pomelo.EntityFrameworkCore.MySql](https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql) | MySQL, MariaDB | [Pomelo Foundation Project](https://github.com/PomeloFoundation) | | 6, 7, 8 | [readme](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/blob/master/README.md) | +| [MySql.EntityFrameworkCore](https://www.nuget.org/packages/MySql.EntityFrameworkCore) | MySQL | [MySQL project](https://dev.mysql.com) (Oracle) | | 6, 7 | [docs](https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core.html) | +| [Oracle.EntityFrameworkCore](https://www.nuget.org/packages/Oracle.EntityFrameworkCore/) | Oracle DB 11.2 onwards | [Oracle](https://www.oracle.com/technetwork/topics/dotnet/) | | 6, 7 | [website](https://www.oracle.com/technetwork/topics/dotnet/) | +| [MongoDB.EntityFrameworkCore](https://www.nuget.org/packages/MongoDB.EntityFrameworkCore/) | MongoDB | [MongoDB](https://www.mongodb.com/) | | 8 | [docs](https://www.mongodb.com/docs/entity-framework/current/) | +| [Devart.Data.MySql.EFCore](https://www.nuget.org/packages/Devart.Data.MySql.EFCore/) | MySQL 5 onwards | [DevArt](https://www.devart.com/dotconnect/mysql/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/mysql/GettingStarted.html) | +| [Devart.Data.Oracle.EFCore](https://www.nuget.org/packages/Devart.Data.Oracle.EFCore/) | Oracle DB 9.2.0.4 onwards | [DevArt](https://www.devart.com/dotconnect/oracle/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/oracle/GettingStarted.html) | +| [Devart.Data.PostgreSql.EFCore](https://www.nuget.org/packages/Devart.Data.PostgreSql.EFCore/) | PostgreSQL 8.0 onwards | [DevArt](https://www.devart.com/dotconnect/postgresql/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/postgresql/GettingStarted.html) | +| [Devart.Data.SQLite.EFCore](https://www.nuget.org/packages/Devart.Data.SQLite.EFCore/) | SQLite 3 onwards | [DevArt](https://www.devart.com/dotconnect/sqlite/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/sqlite/GettingStarted.html) | +| [Devart.Data.DB2.EFCore](https://www.nuget.org/packages/Devart.Data.DB2.EFCore) | DB2 | [DevArt](https://www.devart.com/dotconnect/db2/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/db2/GettingStarted.html) | +| [Devart.Data.Bigcommerce.EFCore](https://www.nuget.org/packages/Devart.Data.Bigcommerce.EFCore) | BigCommerce | [DevArt](https://www.devart.com/dotconnect/bigcommerce/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/bigcommerce/GettingStarted.html) | +| [Devart.Data.Dynamics.EFCore](https://www.nuget.org/packages/Devart.Data.Dynamics.EFCore) | Microsoft Dynamics 365 | [DevArt](https://www.devart.com/dotconnect/dynamicscrm/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/dynamics/GettingStarted.html) | +| [Devart.Data.FreshBooks.EFCore](https://www.nuget.org/packages/Devart.Data.FreshBooks.EFCore) | FreshBooks | [DevArt](https://www.devart.com/dotconnect/freshbooks/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/freshbooks/GettingStarted.html) | +| [Devart.Data.Magento.EFCore](https://www.nuget.org/packages/Devart.Data.Magento.EFCore) | Magento | [DevArt](https://www.devart.com/dotconnect/magento/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/magento/GettingStarted.html) | +| [Devart.Data.MailChimp.EFCore](https://www.nuget.org/packages/Devart.Data.MailChimp.EFCore) | Mailchimp | [DevArt](https://www.devart.com/dotconnect/mailchimp/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/mailchimp/GettingStarted.html) | +| [Devart.Data.QuickBooks.EFCore](https://www.nuget.org/packages/Devart.Data.QuickBooks.EFCore) | QuickBooks | [DevArt](https://www.devart.com/dotconnect/quickbooks/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/quickbooks/GettingStarted.html) | +| [Devart.Data.Salesforce.EFCore](https://www.nuget.org/packages/Devart.Data.Salesforce.EFCore) | Salesforce | [DevArt](https://www.devart.com/dotconnect/salesforce/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/salesforce/GettingStarted.html) | +| [Devart.Data.ExactTarget.EFCore](https://www.nuget.org/packages/Devart.Data.ExactTarget.EFCore) | Salesforce MC (ExactTarget) | [DevArt](https://www.devart.com/dotconnect/exacttarget/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/salesforcemc/GettingStarted.html) | +| [Devart.Data.Sugar.EFCore](https://www.nuget.org/packages/Devart.Data.Sugar.EFCore) | SugarCRM | [DevArt](https://www.devart.com/dotconnect/sugarcrm/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/sugarcrm/GettingStarted.html) | +| [Devart.Data.Zoho.EFCore](https://www.nuget.org/packages/Devart.Data.Zoho.EFCore) | Zoho CRM | [DevArt](https://www.devart.com/dotconnect/zohocrm/) | Paid | 6, 7, 8 | [docs](https://docs.devart.com/dotconnect/zohocrm/GettingStarted.html) | +| [MASES.EntityFrameworkCore.KNet](https://www.nuget.org/packages/MASES.EntityFrameworkCore.KNet/) | Apache Kafka | [MASES Group](https://masesgroup.com) | Trial, Subscription | 6, 7, 8 | [docs](https://kefcore.masesgroup.com/) | +| [InterBase](https://www.nuget.org/packages/InterBaseSql.EntityFrameworkCore.InterBase/) | InterBase | [InterBase](https://interbase.com/) | | 6 | [docs](https://docwiki.embarcadero.com/InterBase/2020/en/Entity_Framework) | +| [FirebirdSql.EntityFrameworkCore.Firebird](https://www.nuget.org/packages/FirebirdSql.EntityFrameworkCore.Firebird/) | Firebird 3.0 onwards | [Jiří Činčura](https://github.com/cincuranet) | | 8 | [docs](https://github.com/FirebirdSQL/NETProvider/blob/master/docs/entity-framework-core.md) | +| [IBM.EntityFrameworkCore](https://www.nuget.org/packages/IBM.EntityFrameworkCore) | Db2, Informix | [IBM](https://ibm.com) | Paid, Windows | 6 | [getting started](https://community.ibm.com/community/user/hybriddatamanagement/blogs/michelle-betbadal1/2020/04/29/getting-started-with-ibm-net-provider-for-net-core) | +| [IBM.EntityFrameworkCore-lnx](https://www.nuget.org/packages/IBM.EntityFrameworkCore-lnx) | Db2, Informix | [IBM](https://ibm.com) | Paid, Linux | 6 | [getting started](https://community.ibm.com/community/user/hybriddatamanagement/blogs/michelle-betbadal1/2020/04/29/getting-started-with-ibm-net-provider-for-net-core) | +| [IBM.EntityFrameworkCore-osx](https://www.nuget.org/packages/IBM.EntityFrameworkCore-osx) | Db2, Informix | [IBM](https://ibm.com) | Paid, macOS | 6 | [getting started](https://community.ibm.com/community/user/hybriddatamanagement/blogs/michelle-betbadal1/2020/04/29/getting-started-with-ibm-net-provider-for-net-core) | +| [EntityFrameworkCore.Jet](https://www.nuget.org/packages/EntityFrameworkCore.Jet/) | Microsoft Access files | [CirrusRedOrg](https://github.com/CirrusRedOrg) | Windows | 6, 7, 8 (Preview) | [readme](https://github.com/CirrusRedOrg/EntityFrameworkCore.Jet/blob/master/docs/README.md) | +| [Google.Cloud.EntityFrameworkCore.Spanner](https://www.nuget.org/packages/Google.Cloud.EntityFrameworkCore.Spanner) | Google Cloud Spanner | [Cloud Spanner Ecosystem](https://github.com/cloudspannerecosystem) | Currently in preview | 6 | [tutorial](https://medium.com/google-cloud/google-cloud-spanner-with-entity-framework-core-2ddd16d2b252) | +| [Teradata.EntityFrameworkCore](https://www.nuget.org/packages/Teradata.EntityFrameworkCore/) | Teradata Database 16.10 onwards | [Teradata](https://downloads.teradata.com/download/connectivity/net-data-provider-for-teradata) | | 3 | [website](https://www.nuget.org/packages/Teradata.EntityFrameworkCore/) | +| [FileContextCore](https://www.nuget.org/packages/FileContextCore/) | Stores data in files | [Morris Janatzek](https://github.com/morrisjdev) | For development purposes | 3 | [readme](https://github.com/morrisjdev/FileContextCore/blob/master/README.md) | +| [FileBaseContext](https://www.nuget.org/packages/FileBaseContext/) | Store tables in files | [k.D.g](https://github.com/dualbios) | For development purposes | 7, 8 | [readme](https://github.com/dualbios/FileBaseContext/blob/main/README.md) | +| [EntityFrameworkCore.SqlServerCompact35](https://www.nuget.org/packages/EntityFrameworkCore.SqlServerCompact35) | SQL Server Compact 3.5 | [Erik Ejlskov Jensen](https://github.com/ErikEJ/) | .NET Framework | 2 | [wiki](https://github.com/ErikEJ/EntityFramework.SqlServerCompact/wiki/Using-EF-Core-with-SQL-Server-Compact-in-Traditional-.NET-Applications) | +| [EntityFrameworkCore.SqlServerCompact40](https://www.nuget.org/packages/EntityFrameworkCore.SqlServerCompact40) | SQL Server Compact 4.0 | [Erik Ejlskov Jensen](https://github.com/ErikEJ/) | .NET Framework | 2 | [wiki](https://github.com/ErikEJ/EntityFramework.SqlServerCompact/wiki/Using-EF-Core-with-SQL-Server-Compact-in-Traditional-.NET-Applications) | +| [EntityFrameworkCore.OpenEdge](https://www.nuget.org/packages/EntityFrameworkCore.OpenEdge/) | Progress OpenEdge | [Alex Wiese](https://github.com/alexwiese) | | 2 | [readme](https://github.com/alexwiese/EntityFrameworkCore.OpenEdge/blob/master/README.md) | ## Adding a database provider to your application diff --git a/entity-framework/core/providers/sql-server/azure-sql-database.md b/entity-framework/core/providers/sql-server/azure-sql-database.md index ce8e7c2536..b514459ed8 100644 --- a/entity-framework/core/providers/sql-server/azure-sql-database.md +++ b/entity-framework/core/providers/sql-server/azure-sql-database.md @@ -25,5 +25,5 @@ Use [HasPerformanceLevelSql](/dotnet/api/Microsoft.EntityFrameworkCore.SqlServer [!code-csharp[HasPerformanceLevel](../../../../samples/core/SqlServer/AzureDatabase/AzureSqlContext.cs?name=HasPerformanceLevelSql)] ->[!TIP] +> [!TIP] > You can find all the supported values in the [ALTER DATABASE documentation](/sql/t-sql/statements/alter-database-transact-sql?view=azuresqldb-current&preserve-view=true). diff --git a/entity-framework/core/providers/sql-server/functions.md b/entity-framework/core/providers/sql-server/functions.md index dd4ef926f7..b947165145 100644 --- a/entity-framework/core/providers/sql-server/functions.md +++ b/entity-framework/core/providers/sql-server/functions.md @@ -88,9 +88,11 @@ dateTime.Date | CONVERT(date, @dat dateTime.Day | DATEPART(day, @dateTime) dateTime.DayOfYear | DATEPART(dayofyear, @dateTime) dateTime.Hour | DATEPART(hour, @dateTime) +dateTime.Microsecond | DATEPART(microsecond, @dateTime) % 1000 | EF Core 10.0 dateTime.Millisecond | DATEPART(millisecond, @dateTime) dateTime.Minute | DATEPART(minute, @dateTime) dateTime.Month | DATEPART(month, @dateTime) +dateTime.Nanosecond | DATEPART(nanosecond, @dateTime) % 1000 | EF Core 10.0 dateTime.Second | DATEPART(second, @dateTime) dateTime.TimeOfDay | CONVERT(time, @dateTime) dateTime.Year | DATEPART(year, @dateTime) @@ -107,9 +109,11 @@ dateTimeOffset.Date | CONVERT(date, @dat dateTimeOffset.Day | DATEPART(day, @dateTimeOffset) dateTimeOffset.DayOfYear | DATEPART(dayofyear, @dateTimeOffset) dateTimeOffset.Hour | DATEPART(hour, @dateTimeOffset) +dateTimeOffset.Microsecond | DATEPART(microsecond, @dateTimeOffset) % 1000 | EF Core 10.0 dateTimeOffset.Millisecond | DATEPART(millisecond, @dateTimeOffset) dateTimeOffset.Minute | DATEPART(minute, @dateTimeOffset) dateTimeOffset.Month | DATEPART(month, @dateTimeOffset) +dateTimeOffset.Nanosecond | DATEPART(nanosecond, @dateTimeOffset) % 1000 | EF Core 10.0 dateTimeOffset.Second | DATEPART(second, @dateTimeOffset) dateTimeOffset.TimeOfDay | CONVERT(time, @dateTimeOffset) dateTimeOffset.ToUnixTimeSeconds() | DATEDIFF_BIG(second, '1970-01-01T00:00:00.0000000+00:00', @dateTimeOffset) | EF Core 8.0 @@ -145,12 +149,16 @@ timeOnly.AddHours(value) | DATEADD(hour, @val timeOnly.AddMinutes(value) | DATEADD(minute, @value, @timeOnly) | EF Core 8.0 timeOnly.Hour | DATEPART(hour, @timeOnly) | EF Core 8.0 timeOnly.IsBetween(start, end) | @timeOnly >= @start AND @timeOnly < @end | EF Core 8.0 +timeOnly.Microsecond | DATEPART(microsecond, @timeOnly) % 1000 | EF Core 10.0 timeOnly.Millisecond | DATEPART(millisecond, @timeOnly) | EF Core 8.0 timeOnly.Minute | DATEPART(minute, @timeOnly) | EF Core 8.0 +timeOnly.Nanosecond | DATEPART(nanosecond, @timeOnly) % 1000 | EF Core 10.0 timeOnly.Second | DATEPART(second, @timeOnly) | EF Core 8.0 timeSpan.Hours | DATEPART(hour, @timeSpan) +timeSpan.Microsecond | DATEPART(microsecond, @timeSpan) % 1000 | EF Core 10.0 timeSpan.Milliseconds | DATEPART(millisecond, @timeSpan) timeSpan.Minutes | DATEPART(minute, @timeSpan) +timeSpan.Nanosecond | DATEPART(nanosecond, @timeSpan) % 1000 | EF Core 10.0 timeSpan.Seconds | DATEPART(second, @timeSpan) ## Numeric functions diff --git a/entity-framework/core/providers/sql-server/index.md b/entity-framework/core/providers/sql-server/index.md index 15eb9ce4af..8875b93761 100644 --- a/entity-framework/core/providers/sql-server/index.md +++ b/entity-framework/core/providers/sql-server/index.md @@ -7,7 +7,7 @@ uid: core/providers/sql-server/index --- # Microsoft SQL Server EF Core Database Provider -This database provider allows Entity Framework Core to be used with Microsoft SQL Server (including Azure SQL Database). The provider is maintained as part of the [Entity Framework Core Project](https://github.com/dotnet/efcore). +This database provider allows Entity Framework Core to be used with Microsoft SQL Server (including Azure SQL and Azure Synapse Analytics). The provider is maintained as part of the [Entity Framework Core Project](https://github.com/dotnet/efcore). ## Install @@ -30,12 +30,21 @@ Install-Package Microsoft.EntityFrameworkCore.SqlServer > [!NOTE] > The provider references Microsoft.Data.SqlClient (not System.Data.SqlClient). If your project takes a direct dependency on SqlClient, make sure it references the Microsoft.Data.SqlClient package. ->[!TIP] +> [!TIP] > The Microsoft.Data.SqlClient package ships more frequently than the EF Core provider. If you would like to take advantage of new features and bug fixes, you can add a direct package reference to the latest version of Microsoft.Data.SqlClient. > [!WARNING] > The async implementation of [Microsoft.Data.SqlClient](https://github.com/dotnet/SqlClient) unfortunately has some known issues (e.g. [#593](https://github.com/dotnet/SqlClient/issues/593), [#601](https://github.com/dotnet/SqlClient/issues/601), and others). If you're seeing unexpected performance problems, try using sync command execution instead, especially when dealing with large text or binary values. +## Usage + +Besides the expected `UseSqlServer` you can also use `UseAzureSql` and `UseAzureSynapse` methods to specify you're connecting to Azure SQL or Azure Synapse Analytics specifically, which allows the provide optimizations for these platforms. It's also recommended to use `UseCompatibilityLevel` method to specify the compatibility level so that the generated SQL is compatible and/or uses the latest possible features. + +> [!NOTE] +> UseAzureSql and UseAzureSynapse methods were introduced in EF Core 9.0. + ## Supported Database Engines * Microsoft SQL Server (2012 onwards) +* Azure SQL +* Azure Synapse Analytics From efadbcbf1d3031cc68d74c3768d8c1c7e7fe499d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jiri=20Cincura=20=E2=86=B9?= Date: Fri, 6 Dec 2024 11:54:43 +0100 Subject: [PATCH 2/2] Update entity-framework/core/providers/sql-server/index.md Co-authored-by: Shay Rojansky --- entity-framework/core/providers/sql-server/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entity-framework/core/providers/sql-server/index.md b/entity-framework/core/providers/sql-server/index.md index 8875b93761..9f4fe8f21b 100644 --- a/entity-framework/core/providers/sql-server/index.md +++ b/entity-framework/core/providers/sql-server/index.md @@ -38,7 +38,7 @@ Install-Package Microsoft.EntityFrameworkCore.SqlServer ## Usage -Besides the expected `UseSqlServer` you can also use `UseAzureSql` and `UseAzureSynapse` methods to specify you're connecting to Azure SQL or Azure Synapse Analytics specifically, which allows the provide optimizations for these platforms. It's also recommended to use `UseCompatibilityLevel` method to specify the compatibility level so that the generated SQL is compatible and/or uses the latest possible features. +Starting with EF 9, it's recommended to use `UseAzureSql` and `UseAzureSynapse` to specify that you're connecting to Azure SQL or Azure Synapse Analytics specifically, and `UseSqlServer` to specify that you're connecting to on-premises SQL Server; doing so allows the provider to optimize for and properly support these platforms. It's also recommended to use `UseCompatibilityLevel` method to specify the compatibility level so that the generated SQL is compatible and/or uses the latest possible features. > [!NOTE] > UseAzureSql and UseAzureSynapse methods were introduced in EF Core 9.0.