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

Commit 597fca8

Browse files
committed
Removed compatibility issues between linq2db versions 2.X and 3.X.
1 parent fe02596 commit 597fca8

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFToolsImplDefault.cs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,20 @@ protected virtual LinqToDBProviderInfo GetLinqToDbProviderInfo(RelationalOption
289289

290290
protected virtual IDataProvider CreateSqlServerProvider(SqlServerVersion version, string connectionString)
291291
{
292+
string providerName;
293+
292294
if (!string.IsNullOrEmpty(connectionString))
293-
return DataConnection.GetDataProvider("System.Data.SqlClient", connectionString);
295+
{
296+
297+
if (typeof(DataConnection).Assembly.GetName().Version.Major >= 3)
298+
providerName = "Microsoft.Data.SqlClient";
299+
else
300+
//TODO: Remove after switching to linq2db 3.0
301+
providerName = "System.Data.SqlClient";
302+
303+
return DataConnection.GetDataProvider(providerName, connectionString);
304+
}
294305

295-
string providerName;
296306
switch (version)
297307
{
298308
case SqlServerVersion.v2000:
@@ -532,7 +542,7 @@ public static Expression Unwrap(Expression ex)
532542
{
533543
var ue = (UnaryExpression)ex;
534544

535-
if (!ue.Operand.Type.IsEnumEx())
545+
if (!ue.Operand.Type.IsEnum)
536546
return Unwrap(ue.Operand);
537547

538548
break;
@@ -732,7 +742,7 @@ Expression GetTableExpression(Type entityType)
732742
var props = navigationPath.Split('.');
733743
for (int i = 0; i < props.Length; i++)
734744
{
735-
var propertyInfo = memberExpression.Type.GetPropertyEx(props[i]);
745+
var propertyInfo = memberExpression.Type.GetProperty(props[i]);
736746
if (propertyInfo != null)
737747
memberExpression = Expression.MakeMemberAccess(memberExpression, propertyInfo);
738748
}

Tests/LinqToDB.EntityFrameworkCore.Tests/ValueConversion/IdValueConverterSelector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace LinqToDB.EntityFrameworkCore.Tests.ValueConversion
66
{
77
public sealed class IdValueConverterSelector : ValueConverterSelector
88
{
9-
public IdValueConverterSelector([System.Diagnostics.CodeAnalysis.NotNull] ValueConverterSelectorDependencies dependencies) : base(dependencies)
9+
public IdValueConverterSelector(ValueConverterSelectorDependencies dependencies) : base(dependencies)
1010
{
1111
}
1212

0 commit comments

Comments
 (0)