Skip to content
This repository was archived by the owner on Feb 1, 2025. It is now read-only.

Commit b6300a4

Browse files
authored
add more ProviderName values support (#351)
1 parent bfeb866 commit b6300a4

File tree

3 files changed

+51
-3
lines changed

3 files changed

+51
-3
lines changed

Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFToolsImplDefault.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,15 +173,46 @@ protected virtual IDataProvider CreateLinqToDBDataProvider(EFProviderInfo provid
173173
{
174174
case ProviderName.SqlServer:
175175
return CreateSqlServerProvider(SqlServerDefaultVersion, connectionInfo.ConnectionString);
176+
case ProviderName.SqlServer2005:
177+
return CreateSqlServerProvider(SqlServerVersion.v2005, connectionInfo.ConnectionString);
178+
case ProviderName.SqlServer2008:
179+
return CreateSqlServerProvider(SqlServerVersion.v2008, connectionInfo.ConnectionString);
180+
case ProviderName.SqlServer2012:
181+
return CreateSqlServerProvider(SqlServerVersion.v2012, connectionInfo.ConnectionString);
182+
case ProviderName.SqlServer2014:
183+
return CreateSqlServerProvider(SqlServerVersion.v2014, connectionInfo.ConnectionString);
184+
case ProviderName.SqlServer2016:
185+
return CreateSqlServerProvider(SqlServerVersion.v2016, connectionInfo.ConnectionString);
186+
case ProviderName.SqlServer2017:
187+
return CreateSqlServerProvider(SqlServerVersion.v2017, connectionInfo.ConnectionString);
188+
case ProviderName.SqlServer2019:
189+
return CreateSqlServerProvider(SqlServerVersion.v2019, connectionInfo.ConnectionString);
190+
case ProviderName.SqlServer2022:
191+
return CreateSqlServerProvider(SqlServerVersion.v2022, connectionInfo.ConnectionString);
192+
176193
case ProviderName.MySql:
177194
case ProviderName.MySqlConnector:
195+
case ProviderName.MariaDB:
178196
return MySqlTools.GetDataProvider(provInfo.ProviderName);
197+
179198
case ProviderName.PostgreSQL:
180199
return CreatePostgreSqlProvider(PostgreSqlDefaultVersion, connectionInfo.ConnectionString);
200+
case ProviderName.PostgreSQL92:
201+
return CreatePostgreSqlProvider(PostgreSQLVersion.v92, connectionInfo.ConnectionString);
202+
case ProviderName.PostgreSQL93:
203+
return CreatePostgreSqlProvider(PostgreSQLVersion.v93, connectionInfo.ConnectionString);
204+
case ProviderName.PostgreSQL95:
205+
return CreatePostgreSqlProvider(PostgreSQLVersion.v95, connectionInfo.ConnectionString);
206+
case ProviderName.PostgreSQL15:
207+
return CreatePostgreSqlProvider(PostgreSQLVersion.v15, connectionInfo.ConnectionString);
208+
181209
case ProviderName.SQLite:
210+
case ProviderName.SQLiteMS:
182211
return SQLiteTools.GetDataProvider(provInfo.ProviderName);
212+
183213
case ProviderName.Firebird:
184214
return FirebirdTools.GetDataProvider();
215+
185216
case ProviderName.DB2:
186217
case ProviderName.DB2LUW:
187218
return DB2Tools.GetDataProvider(DB2Version.LUW);
@@ -204,6 +235,7 @@ protected virtual IDataProvider CreateLinqToDBDataProvider(EFProviderInfo provid
204235

205236
case ProviderName.SqlCe:
206237
return SqlCeTools.GetDataProvider();
238+
207239
//case ProviderName.Access:
208240
// return new AccessDataProvider();
209241

Tests/LinqToDB.EntityFrameworkCore.BaseTests/TestsBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ protected void AreEqual<T>(Func<T, T> fixSelector, IEnumerable<T> expected, IEnu
4949

5050
protected void AreEqual<T>(Func<T, T> fixSelector, IEnumerable<T> expected, IEnumerable<T> result, IEqualityComparer<T> comparer, bool allowEmpty = false)
5151
{
52-
AreEqual<T>(fixSelector, expected, result, comparer, null, allowEmpty);
52+
AreEqual(fixSelector, expected, result, comparer, null, allowEmpty);
5353
}
5454

5555
protected void AreEqual<T>(

Tests/LinqToDB.EntityFrameworkCore.SQLite.Tests/SQLiteTests.cs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
using LinqToDB.Data;
1+
using System.Linq;
2+
using LinqToDB.Data;
23
using LinqToDB.EntityFrameworkCore.BaseTests;
34
using LinqToDB.EntityFrameworkCore.SQLite.Tests.Models.Northwind;
45
using Microsoft.EntityFrameworkCore;
6+
using NUnit.Framework;
57

68
namespace LinqToDB.EntityFrameworkCore.SQLite.Tests
79
{
@@ -18,7 +20,6 @@ static SQLiteTests()
1820
public SQLiteTests()
1921
{
2022
var optionsBuilder = new DbContextOptionsBuilder<NorthwindContext>();
21-
//new SqlServerDbContextOptionsBuilder(optionsBuilder);
2223

2324
optionsBuilder.UseSqlite("Data Source=northwind.db;");
2425

@@ -34,5 +35,20 @@ private NorthwindContext CreateSQLiteSqlExntitiesContext()
3435
ctx.Database.EnsureCreated();
3536
return ctx;
3637
}
38+
39+
[Test(Description = "https://github.com/linq2db/linq2db.EntityFrameworkCore/issues/343")]
40+
public void TestFunctionsMapping()
41+
{
42+
var optionsBuilder = new DbContextOptionsBuilder<NorthwindContext>();
43+
optionsBuilder.UseSqlite("Data Source=northwind.db;");
44+
optionsBuilder.UseLinqToDB(x => x.AddCustomOptions(o => o.UseSQLiteMicrosoft()));
45+
optionsBuilder.UseLoggerFactory(TestUtils.LoggerFactory);
46+
47+
using var ctx = new NorthwindContext(optionsBuilder.Options);
48+
ctx.Database.EnsureDeleted();
49+
ctx.Database.EnsureCreated();
50+
51+
ctx.Categories.ToLinqToDB().ToList();
52+
}
3753
}
3854
}

0 commit comments

Comments
 (0)