diff --git a/src/EFCore.Relational/Query/QuerySqlGenerator.cs b/src/EFCore.Relational/Query/QuerySqlGenerator.cs
index 32052c99b66..e81bd776584 100644
--- a/src/EFCore.Relational/Query/QuerySqlGenerator.cs
+++ b/src/EFCore.Relational/Query/QuerySqlGenerator.cs
@@ -303,8 +303,6 @@ protected override Expression VisitSqlFunction(SqlFunctionExpression sqlFunction
protected override Expression VisitTableValuedFunction(TableValuedFunctionExpression tableValuedFunctionExpression)
{
Check.NotNull(tableValuedFunctionExpression, nameof(tableValuedFunctionExpression));
- Check.DebugAssert(tableValuedFunctionExpression.Alias is not null,
- $"{nameof(tableValuedFunctionExpression.Alias)} is null on {nameof(tableValuedFunctionExpression)}");
if (!string.IsNullOrEmpty(tableValuedFunctionExpression.StoreFunction.Schema))
{
diff --git a/src/EFCore.Relational/Query/SqlExpressions/FromSqlExpression.cs b/src/EFCore.Relational/Query/SqlExpressions/FromSqlExpression.cs
index 08738af05d1..eaf169d05ee 100644
--- a/src/EFCore.Relational/Query/SqlExpressions/FromSqlExpression.cs
+++ b/src/EFCore.Relational/Query/SqlExpressions/FromSqlExpression.cs
@@ -5,6 +5,7 @@
using System.Linq.Expressions;
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore.Utilities;
+using CA = System.Diagnostics.CodeAnalysis;
#nullable enable
@@ -54,6 +55,16 @@ public FromSqlExpression([NotNull] string alias, [NotNull] string sql, [NotNull]
Arguments = arguments;
}
+ ///
+ /// The alias assigned to this table source.
+ ///
+ [CA.NotNull]
+ public override string? Alias
+ {
+ get => base.Alias!;
+ internal set => base.Alias = value;
+ }
+
///
/// The user-provided custom SQL for the table source.
///
diff --git a/src/EFCore.Relational/Query/SqlExpressions/SetOperationBase.cs b/src/EFCore.Relational/Query/SqlExpressions/SetOperationBase.cs
index df33268023c..bb4294130f3 100644
--- a/src/EFCore.Relational/Query/SqlExpressions/SetOperationBase.cs
+++ b/src/EFCore.Relational/Query/SqlExpressions/SetOperationBase.cs
@@ -4,6 +4,7 @@
using System;
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore.Utilities;
+using CA = System.Diagnostics.CodeAnalysis;
#nullable enable
@@ -42,6 +43,16 @@ protected SetOperationBase(
Source2 = source2;
}
+ ///
+ /// The alias assigned to this table source.
+ ///
+ [CA.NotNull]
+ public override string? Alias
+ {
+ get => base.Alias!;
+ internal set => base.Alias = value;
+ }
+
///
/// The bool value indicating whether result will remove duplicate rows.
///
diff --git a/src/EFCore.Relational/Query/SqlExpressions/TableValuedFunctionExpression.cs b/src/EFCore.Relational/Query/SqlExpressions/TableValuedFunctionExpression.cs
index 82d49816815..d7ef9c59340 100644
--- a/src/EFCore.Relational/Query/SqlExpressions/TableValuedFunctionExpression.cs
+++ b/src/EFCore.Relational/Query/SqlExpressions/TableValuedFunctionExpression.cs
@@ -8,6 +8,7 @@
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Utilities;
+using CA = System.Diagnostics.CodeAnalysis;
#nullable enable
@@ -44,6 +45,16 @@ private TableValuedFunctionExpression(string alias, IStoreFunction storeFunction
Arguments = arguments;
}
+ ///
+ /// The alias assigned to this table source.
+ ///
+ [CA.NotNull]
+ public override string? Alias
+ {
+ get => base.Alias!;
+ internal set => base.Alias = value;
+ }
+
///
/// The store function.
///