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

Commit db1fc6c

Browse files
authored
v6 updates (#264)
* updates * revert dependency updates
1 parent 1eb618f commit db1fc6c

File tree

15 files changed

+70
-69
lines changed

15 files changed

+70
-69
lines changed

Directory.Packages.props

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<Project>
22
<ItemGroup>
3-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
4-
<PackageVersion Include="NUnit3TestAdapter" Version="4.2.1" />
3+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
4+
<PackageVersion Include="NUnit3TestAdapter" Version="4.3.0" />
55
<PackageVersion Include="NUnit" Version="3.13.3" />
6-
<PackageVersion Include="FluentAssertions" Version="6.6.0" />
6+
<PackageVersion Include="FluentAssertions" Version="6.8.0" />
77

88
<PackageVersion Include="linq2db" Version="4.3.0" />
99
<PackageVersion Include="linq2db.Tools" Version="4.3.0" />
@@ -16,12 +16,12 @@
1616
<PackageVersion Include="Microsoft.Extensions.Logging" Version="6.0.0" />
1717
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" />
1818

19-
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.1" />
20-
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="6.0.4" />
21-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.5" />
22-
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.5" />
19+
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.2" />
20+
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="6.0.7" />
21+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.11" />
22+
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.11" />
2323

2424
<PackageVersion Include="EntityFrameworkCore.FSharp" Version="6.0.7" />
25-
<PackageVersion Include="FSharp.Core" Version="6.0.5" />
25+
<PackageVersion Include="FSharp.Core" Version="7.0.0" />
2626
</ItemGroup>
2727
</Project>

NuGet/linq2db.EntityFrameworkCore.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<title>Linq to DB (linq2db) extensions for Entity Framework Core</title>
66
<authors>Igor Tkachev, Ilya Chudin, Svyatoslav Danyliv, Dmitry Lukashenko</authors>
77
<owners>Igor Tkachev, Ilya Chudin, Svyatoslav Danyliv, Dmitry Lukashenko</owners>
8-
<copyright>Copyright © 2020-2021 Igor Tkachev, Ilya Chudin, Svyatoslav Danyliv, Dmitry Lukashenko</copyright>
8+
<copyright>Copyright © 2020-2022 Igor Tkachev, Ilya Chudin, Svyatoslav Danyliv, Dmitry Lukashenko</copyright>
99
<description>Allows to execute Linq to DB (linq2db) queries in Entity Framework Core DbContext.</description>
1010
<summary />
1111
<tags>linq linq2db LinqToDB ORM database entity-framework-core EntityFrameworkCore EFCore DB SQL SqlServer SqlCe SqlServerCe MySql Firebird SQLite Oracle ODP PostgreSQL DB2</tags>

Source/LinqToDB.EntityFrameworkCore/EFCoreMetadataReader.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ namespace LinqToDB.EntityFrameworkCore
3030
/// <summary>
3131
/// LINQ To DB metadata reader for EF.Core model.
3232
/// </summary>
33-
internal class EFCoreMetadataReader : IMetadataReader
33+
internal sealed class EFCoreMetadataReader : IMetadataReader
3434
{
3535
readonly IModel? _model;
3636
private readonly RelationalSqlTranslatingExpressionVisitorDependencies? _dependencies;
@@ -241,7 +241,7 @@ public T[] GetAttributes<T>(Type type, MemberInfo memberInfo, bool inherit = tru
241241
{
242242
if (a.Value is string str)
243243
{
244-
return str.ToLower().Contains("nextval");
244+
return str.ToLowerInvariant().Contains("nextval");
245245
}
246246
}
247247

@@ -258,7 +258,8 @@ public T[] GetAttributes<T>(Type type, MemberInfo memberInfo, bool inherit = tru
258258
}
259259
else
260260
{
261-
dataType = SqlDataType.GetDataType(typeMapping.ClrType).Type.DataType;
261+
var ms = _model != null ? LinqToDBForEFTools.GetMappingSchema(_model, null) : MappingSchema.Default;
262+
dataType = ms.GetDataType(typeMapping.ClrType).Type.DataType;
262263
}
263264
}
264265

@@ -407,7 +408,7 @@ public T[] GetAttributes<T>(Type type, MemberInfo memberInfo, bool inherit = tru
407408
return Array.Empty<T>();
408409
}
409410

410-
class ValueConverter : IValueConverter
411+
sealed class ValueConverter : IValueConverter
411412
{
412413
public ValueConverter(
413414
LambdaExpression convertToProviderExpression,
@@ -424,7 +425,7 @@ public ValueConverter(
424425

425426
}
426427

427-
class SqlTransparentExpression : SqlExpression
428+
sealed class SqlTransparentExpression : SqlExpression
428429
{
429430
public Expression Expression { get; }
430431

@@ -438,7 +439,7 @@ protected override void Print(ExpressionPrinter expressionPrinter)
438439
expressionPrinter.Print(Expression);
439440
}
440441

441-
protected bool Equals(SqlTransparentExpression other)
442+
private bool Equals(SqlTransparentExpression other)
442443
{
443444
return ReferenceEquals(this, other);
444445
}

Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFToolsDataConnection.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public Expression ProcessExpression(Expression expression)
131131
return _transformFunc(expression, this, Context, _model);
132132
}
133133

134-
private class TypeKey
134+
private sealed class TypeKey
135135
{
136136
public TypeKey(IEntityType entityType, IModel? model)
137137
{
@@ -142,7 +142,7 @@ public TypeKey(IEntityType entityType, IModel? model)
142142
public IEntityType EntityType { get; }
143143
public IModel? Model { get; }
144144

145-
protected bool Equals(TypeKey other)
145+
private bool Equals(TypeKey other)
146146
{
147147
return EntityType.Equals(other.EntityType) && Equals(Model, other.Model);
148148
}

Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFToolsImplDefault.cs

Lines changed: 39 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ namespace LinqToDB.EntityFrameworkCore
4646
[PublicAPI]
4747
public class LinqToDBForEFToolsImplDefault : ILinqToDBForEFTools
4848
{
49-
class ProviderKey
49+
sealed class ProviderKey
5050
{
5151
public ProviderKey(string? providerName, string? connectionString)
5252
{
@@ -59,7 +59,7 @@ public ProviderKey(string? providerName, string? connectionString)
5959

6060
#region Equality members
6161

62-
protected bool Equals(ProviderKey other)
62+
private bool Equals(ProviderKey other)
6363
{
6464
return string.Equals(ProviderName, other.ProviderName) && string.Equals(ConnectionString, other.ConnectionString);
6565
}
@@ -163,31 +163,44 @@ protected virtual IDataProvider CreateLinqToDbDataProvider(EFProviderInfo provid
163163

164164
switch (provInfo.ProviderName)
165165
{
166-
case ProviderName.SqlServer:
167-
return CreateSqlServerProvider(SqlServerDefaultVersion, connectionInfo.ConnectionString);
168-
case ProviderName.MySql:
169-
case ProviderName.MySqlConnector:
170-
return MySqlTools.GetDataProvider(provInfo.ProviderName);
171-
case ProviderName.PostgreSQL:
172-
return CreatePostgreSqlProvider(PostgreSqlDefaultVersion, connectionInfo.ConnectionString);
173-
case ProviderName.SQLite:
174-
return SQLiteTools.GetDataProvider(provInfo.ProviderName);
175-
case ProviderName.Firebird:
176-
return FirebirdTools.GetDataProvider();
177-
case ProviderName.DB2:
178-
case ProviderName.DB2LUW:
179-
return DB2Tools.GetDataProvider(DB2Version.LUW);
180-
case ProviderName.DB2zOS:
166+
case ProviderName.SqlServer:
167+
return CreateSqlServerProvider(SqlServerDefaultVersion, connectionInfo.ConnectionString);
168+
case ProviderName.MySql:
169+
case ProviderName.MySqlConnector:
170+
return MySqlTools.GetDataProvider(provInfo.ProviderName);
171+
case ProviderName.PostgreSQL:
172+
return CreatePostgreSqlProvider(PostgreSqlDefaultVersion, connectionInfo.ConnectionString);
173+
case ProviderName.SQLite:
174+
return SQLiteTools.GetDataProvider(provInfo.ProviderName);
175+
case ProviderName.Firebird:
176+
return FirebirdTools.GetDataProvider();
177+
case ProviderName.DB2:
178+
case ProviderName.DB2LUW:
179+
return DB2Tools.GetDataProvider(DB2Version.LUW);
180+
case ProviderName.DB2zOS:
181181
return DB2Tools.GetDataProvider(DB2Version.zOS);
182-
case ProviderName.Oracle:
183-
return OracleTools.GetDataProvider(provInfo.ProviderName, version: OracleVersion.v11);
184-
case ProviderName.SqlCe:
185-
return SqlCeTools.GetDataProvider();
186-
//case ProviderName.Access:
187-
// return new AccessDataProvider();
188-
189-
default:
190-
throw new LinqToDBForEFToolsException($"Can not instantiate data provider '{provInfo.ProviderName}'.");
182+
183+
case ProviderName.Oracle11Native:
184+
return OracleTools.GetDataProvider(OracleVersion.v11, OracleProvider.Native);
185+
case ProviderName.OracleNative:
186+
return OracleTools.GetDataProvider(OracleVersion.v12, OracleProvider.Native);
187+
case ProviderName.Oracle11Managed:
188+
return OracleTools.GetDataProvider(OracleVersion.v11, OracleProvider.Managed);
189+
case ProviderName.Oracle:
190+
case ProviderName.OracleManaged:
191+
return OracleTools.GetDataProvider(OracleVersion.v12, OracleProvider.Managed);
192+
case ProviderName.Oracle11Devart:
193+
return OracleTools.GetDataProvider(OracleVersion.v11, OracleProvider.Devart);
194+
case ProviderName.OracleDevart:
195+
return OracleTools.GetDataProvider(OracleVersion.v12, OracleProvider.Devart);
196+
197+
case ProviderName.SqlCe:
198+
return SqlCeTools.GetDataProvider();
199+
//case ProviderName.Access:
200+
// return new AccessDataProvider();
201+
202+
default:
203+
throw new LinqToDBForEFToolsException($"Can not instantiate data provider '{provInfo.ProviderName}'.");
191204
}
192205
}
193206

Tests/LinqToDB.EntityFrameworkCore.BaseTests/Logging/NullExternalScopeProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace LinqToDB.EntityFrameworkCore.BaseTests.Logging
66
/// <summary>
77
/// Scope provider that does nothing.
88
/// </summary>
9-
internal class NullExternalScopeProvider : IExternalScopeProvider
9+
internal sealed class NullExternalScopeProvider : IExternalScopeProvider
1010
{
1111
private NullExternalScopeProvider()
1212
{

Tests/LinqToDB.EntityFrameworkCore.BaseTests/Logging/NullScope.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace LinqToDB.EntityFrameworkCore.BaseTests.Logging
44
{
5-
internal class NullScope : IDisposable
5+
internal sealed class NullScope : IDisposable
66
{
77
public static NullScope Instance { get; } = new NullScope();
88

Tests/LinqToDB.EntityFrameworkCore.BaseTests/Logging/TestLogger.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace LinqToDB.EntityFrameworkCore.BaseTests.Logging
88
{
9-
internal class TestLogger : ILogger
9+
internal sealed class TestLogger : ILogger
1010
{
1111
private static readonly string _loglevelPadding = ": ";
1212
private static readonly string _messagePadding;
@@ -58,7 +58,7 @@ public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Except
5858
}
5959
}
6060

61-
public virtual void WriteMessage(LogLevel logLevel, string logName, int eventId, string message, Exception? exception)
61+
public void WriteMessage(LogLevel logLevel, string logName, int eventId, string message, Exception? exception)
6262
{
6363
var format = Options!.FormatterName;
6464
Debug.Assert(format is ConsoleFormatterNames.Simple or ConsoleFormatterNames.Systemd);
@@ -99,7 +99,7 @@ private void EnqueueMessage(LogMessageEntry entry)
9999
WriteMessage(entry);
100100
}
101101

102-
internal virtual void WriteMessage(LogMessageEntry message)
102+
internal void WriteMessage(LogMessageEntry message)
103103
{
104104
if (message.TimeStamp != null)
105105
{

Tests/LinqToDB.EntityFrameworkCore.BaseTests/Models/Northwind/NorthwindData.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ private static void AddEntities(DbContext context)
148148
}
149149

150150
#pragma warning disable CA2252 // This API requires opting into preview features
151-
private class AsyncEnumerable<T> : IAsyncQueryProvider, IOrderedQueryable<T>
151+
private sealed class AsyncEnumerable<T> : IAsyncQueryProvider, IOrderedQueryable<T>
152152
#pragma warning restore CA2252 // This API requires opting into preview features
153153
{
154154
private readonly EnumerableQuery<T> _enumerableQuery;
@@ -180,7 +180,7 @@ public TResult Execute<TResult>(Expression expression)
180180
private static Expression RewriteShadowPropertyAccess(Expression expression)
181181
=> new ShadowStateAccessRewriter().Visit(expression);
182182

183-
private class ShadowStateAccessRewriter : ExpressionVisitor
183+
private sealed class ShadowStateAccessRewriter : ExpressionVisitor
184184
{
185185
[return: NotNullIfNotNull("expr")]
186186
static Expression? RemoveConvert(Expression? expr)

Tests/LinqToDB.EntityFrameworkCore.PostgreSQL.Tests/SampleTests/StringExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public static string ToSnakeCase(this string input)
1010
return input;
1111

1212
var startUnderscores = Regex.Match(input, @"^_+");
13-
return startUnderscores + Regex.Replace(input, @"([a-z0-9])([A-Z])", "$1_$2").ToLower();
13+
return startUnderscores + Regex.Replace(input, @"([a-z0-9])([A-Z])", "$1_$2").ToLowerInvariant();
1414
}
1515
}
1616
}

0 commit comments

Comments
 (0)