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

Commit 29d37b1

Browse files
committed
Minor compiler fixes.
1 parent ca6cefb commit 29d37b1

File tree

5 files changed

+18
-16
lines changed

5 files changed

+18
-16
lines changed

Source/LinqToDB.EntityFrameworkCore/EFCoreMetadataReader.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ public T[] GetAttributes<T>(Type type, MemberInfo memberInfo, bool inherit = tru
214214
var primaryKeyOrder = 0;
215215
if (isPrimaryKey)
216216
{
217-
var pk = prop.FindContainingPrimaryKey();
217+
var pk = prop.FindContainingPrimaryKey()!;
218218
primaryKeyOrder = pk.Properties.Select((p, i) => new { p, index = i })
219219
.FirstOrDefault(v => CompareProperty(v.p, memberInfo))?.index ?? 0;
220220
}
@@ -224,16 +224,15 @@ public T[] GetAttributes<T>(Type type, MemberInfo memberInfo, bool inherit = tru
224224
var annotations = prop.GetAnnotations();
225225
if (_annotationProvider != null && storeObjectId != null)
226226
{
227-
var column = prop.FindColumn(storeObjectId.Value) as IColumn;
228-
if (column != null)
227+
if (prop.FindColumn(storeObjectId.Value) is IColumn column)
229228
annotations = annotations.Concat(_annotationProvider.For(column));
230229
}
231230

232231
var isIdentity = annotations
233232
.Any(a =>
234233
{
235234
if (a.Name.EndsWith(":ValueGenerationStrategy"))
236-
return a.Value?.ToString().Contains("Identity") == true;
235+
return a.Value?.ToString()!.Contains("Identity") == true;
237236

238237
if (a.Name.EndsWith(":Autoincrement"))
239238
return a.Value is bool b && b;
@@ -434,7 +433,7 @@ protected bool Equals(SqlTransparentExpression other)
434433
return ReferenceEquals(this, other);
435434
}
436435

437-
public override bool Equals(object obj)
436+
public override bool Equals(object? obj)
438437
{
439438
if (obj is null) return false;
440439
if (ReferenceEquals(this, obj)) return true;
@@ -480,7 +479,7 @@ public override int GetHashCode()
480479
Expression.Constant(DefaultValue.GetValue(p.ParameterType), p.ParameterType),
481480
_mappingSource?.FindMapping(p.ParameterType))).ToArray();
482481

483-
var newExpression = _dependencies.MethodCallTranslatorProvider.Translate(_model, objExpr, methodInfo, parametersArray, _logger);
482+
var newExpression = _dependencies.MethodCallTranslatorProvider.Translate(_model, objExpr, methodInfo, parametersArray, _logger!);
484483
if (newExpression != null)
485484
{
486485
if (!methodInfo.IsStatic)
@@ -513,7 +512,7 @@ public override int GetHashCode()
513512
{
514513
var objExpr = new SqlTransparentExpression(Expression.Constant(DefaultValue.GetValue(type), type), _mappingSource?.FindMapping(propInfo));
515514

516-
var newExpression = _dependencies.MemberTranslatorProvider.Translate(objExpr, propInfo, propInfo.GetMemberType(), _logger);
515+
var newExpression = _dependencies.MemberTranslatorProvider.Translate(objExpr, propInfo, propInfo.GetMemberType(), _logger!);
517516
if (newExpression != null)
518517
{
519518
var parametersArray = new Expression[] { objExpr };
@@ -593,7 +592,7 @@ string PrepareExpressionText(Expression? expr)
593592
var left = newExpression.GetType().GetProperty("Left")?.GetValue(newExpression) as Expression;
594593
var right = newExpression.GetType().GetProperty("Right")?.GetValue(newExpression) as Expression;
595594

596-
var operand = newExpression.GetType().GetProperty("OperatorType")?.GetValue(newExpression).ToString();
595+
var operand = newExpression.GetType().GetProperty("OperatorType")?.GetValue(newExpression)!.ToString();
597596

598597
var operandExpr = operand switch
599598
{
@@ -664,7 +663,7 @@ private static Expression UnwrapConverted(Expression expr)
664663
if (expr is SqlFunctionExpression func)
665664
{
666665
if (string.Equals(func.Name, "COALESCE", StringComparison.InvariantCultureIgnoreCase) &&
667-
func.Arguments.Count == 2 && func.Arguments[1].NodeType == ExpressionType.Extension)
666+
func.Arguments!.Count == 2 && func.Arguments[1].NodeType == ExpressionType.Extension)
668667
return UnwrapConverted(func.Arguments[0]);
669668
}
670669

Source/LinqToDB.EntityFrameworkCore/Internal/EFCoreExpressionAttribute.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ public override ISqlExpression GetExpression(
3232
{
3333
var mc = (MethodCallExpression) expression;
3434
if (!mc.Method.IsStatic)
35-
knownExpressions.Add(mc.Object);
35+
knownExpressions.Add(mc.Object!);
3636
knownExpressions.AddRange(mc.Arguments);
3737
}
3838
else
3939
{
4040
var me = (MemberExpression) expression;
41-
knownExpressions.Add(me.Expression);
41+
knownExpressions.Add(me.Expression!);
4242
}
4343

4444
var pams = new List<ISqlExpression?>(knownExpressions.Select(_ => (ISqlExpression?) null));

Source/LinqToDB.EntityFrameworkCore/Internal/LinqToDBForEFQueryProvider.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public IQueryable<TElement> CreateQuery<TElement>(Expression expression)
6565
/// </summary>
6666
/// <param name="expression">Query expression.</param>
6767
/// <returns>Query result.</returns>
68-
public object Execute(Expression expression)
68+
public object? Execute(Expression expression)
6969
{
7070
return QueryProvider.Execute(expression);
7171
}
@@ -107,7 +107,7 @@ TResult IAsyncQueryProvider.ExecuteAsync<TResult>(Expression expression, Cancell
107107
{
108108
var item = typeof(TResult).GetGenericArguments()[0];
109109
var method = _executeAsyncMethodInfo.MakeGenericMethod(item);
110-
return (TResult) method.Invoke(QueryProvider, new object[] { expression, cancellationToken });
110+
return (TResult) method.Invoke(QueryProvider, new object[] { expression, cancellationToken })!;
111111
}
112112

113113
/// <summary>
@@ -165,7 +165,7 @@ public IAsyncEnumerator<T> GetAsyncEnumerator(CancellationToken cancellationToke
165165
/// Returns generated SQL for specific LINQ query.
166166
/// </summary>
167167
/// <returns>Generated SQL.</returns>
168-
public override string ToString()
168+
public override string? ToString()
169169
{
170170
return QueryProvider.ToString();
171171
}

Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFExtensions.Async.EF.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public static Task<Dictionary<TKey, TSource>> ToDictionaryAsyncEF<TSource, TKey>
3939
this IQueryable<TSource> source,
4040
Func<TSource, TKey> keySelector,
4141
CancellationToken cancellationToken = default)
42+
where TKey: notnull
4243
=> EntityFrameworkQueryableExtensions.ToDictionaryAsync(source, keySelector, cancellationToken);
4344

4445
/// <inheritdoc cref="EntityFrameworkQueryableExtensions.ToDictionaryAsync{TSource, TKey, TElement}(IQueryable{TSource}, Func{TSource, TKey}, Func{TSource, TElement}, CancellationToken)"/>
@@ -47,6 +48,7 @@ public static Task<Dictionary<TKey,TElement>> ToDictionaryAsyncEF<TSource,TKey,T
4748
Func<TSource,TKey> keySelector,
4849
Func<TSource,TElement> elementSelector,
4950
CancellationToken cancellationToken = default)
51+
where TKey : notnull
5052
=> EntityFrameworkQueryableExtensions.ToDictionaryAsync(source, keySelector, elementSelector, cancellationToken);
5153

5254
/// <inheritdoc cref="EntityFrameworkQueryableExtensions.ToDictionaryAsync{TSource, TKey, TElement}(IQueryable{TSource}, Func{TSource, TKey}, Func{TSource, TElement}, IEqualityComparer{TKey}, CancellationToken)"/>
@@ -56,6 +58,7 @@ public static Task<Dictionary<TKey,TElement>> ToDictionaryAsyncEF<TSource,TKey,T
5658
Func<TSource,TElement> elementSelector,
5759
IEqualityComparer<TKey> comparer,
5860
CancellationToken cancellationToken = default)
61+
where TKey : notnull
5962
=> EntityFrameworkQueryableExtensions.ToDictionaryAsync(source, keySelector, elementSelector, comparer, cancellationToken);
6063

6164
/// <inheritdoc cref="EntityFrameworkQueryableExtensions.FirstAsync{TSource}(IQueryable{TSource}, CancellationToken)"/>

Tests/LinqToDB.EntityFrameworkCore.BaseTests/ForMappingTestsBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public virtual void TestIdentityMapping()
2020
using var connection = context.CreateLinqToDbConnection();
2121

2222
var ed = connection.MappingSchema.GetEntityDescriptor(typeof(WithIdentity));
23-
var pk = ed.Columns.Where(c => c.IsPrimaryKey).Single();
23+
var pk = ed.Columns.Single(c => c.IsPrimaryKey);
2424

2525
pk.IsIdentity.Should().BeTrue();
2626
}
@@ -32,7 +32,7 @@ public virtual void TestNoIdentityMapping()
3232
using var connection = context.CreateLinqToDbConnection();
3333

3434
var ed = connection.MappingSchema.GetEntityDescriptor(typeof(NoIdentity));
35-
var pk = ed.Columns.Where(c => c.IsPrimaryKey).Single();
35+
var pk = ed.Columns.Single(c => c.IsPrimaryKey);
3636

3737
pk.IsIdentity.Should().BeFalse();
3838
}

0 commit comments

Comments
 (0)