diff --git a/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs b/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs
index 1c8152e0e2c..e2dc13cb31f 100644
--- a/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs
+++ b/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs
@@ -150,12 +150,6 @@ public static string InvalidCommandTimeout
public static string InvalidMaxBatchSize
=> GetString("InvalidMaxBatchSize");
- ///
- /// The Include operation is not supported when calling a stored procedure.
- ///
- public static string StoredProcedureIncludeNotSupported
- => GetString("StoredProcedureIncludeNotSupported");
-
///
/// The required column '{column}' was not present in the results of a 'FromSql' operation.
///
diff --git a/src/EFCore.Relational/Properties/RelationalStrings.resx b/src/EFCore.Relational/Properties/RelationalStrings.resx
index bba3197d4ea..31ab555ac8f 100644
--- a/src/EFCore.Relational/Properties/RelationalStrings.resx
+++ b/src/EFCore.Relational/Properties/RelationalStrings.resx
@@ -250,9 +250,6 @@
Possible unintended use of a potentially throwing aggregate method (Min, Max, Average) in a subquery. Client evaluation will be used and operator will throw if no data exists. Changing the subquery result type to a nullable type will allow full translation.
Warning RelationalEventId.QueryPossibleExceptionWithAggregateOperatorWarning
-
- The Include operation is not supported when calling a stored procedure.
-
Generating down script for migration '{migration}'.
Debug RelationalEventId.MigrationGeneratingDownScript string
diff --git a/test/EFCore.CrossStore.FunctionalTests/ConfigurationPatternsTest.cs b/test/EFCore.CrossStore.FunctionalTests/ConfigurationPatternsTest.cs
index 36c812f159b..71294832060 100644
--- a/test/EFCore.CrossStore.FunctionalTests/ConfigurationPatternsTest.cs
+++ b/test/EFCore.CrossStore.FunctionalTests/ConfigurationPatternsTest.cs
@@ -238,7 +238,7 @@ public SomeService(MultipleProvidersContext context)
[SqlServerConfiguredCondition]
public class NestedContextDifferentStores
{
- [ConditionalFact(Skip = "Tasklist#22")]
+ [ConditionalFact]
public async Task Can_use_one_context_nested_inside_another_of_a_different_type()
{
using (SqlServerTestStore.GetNorthwindStore())
@@ -252,7 +252,7 @@ await NestedContextTest(
}
}
- [ConditionalFact(Skip = "Tasklist#22")]
+ [ConditionalFact]
public async Task Can_use_one_context_nested_inside_another_of_a_different_type_with_implicit_services()
{
using (SqlServerTestStore.GetNorthwindStore())
diff --git a/test/EFCore.Relational.Specification.Tests/PropertyEntryTestBase.cs b/test/EFCore.Relational.Specification.Tests/PropertyEntryTestBase.cs
index fdedb3686a1..0a73de63e47 100644
--- a/test/EFCore.Relational.Specification.Tests/PropertyEntryTestBase.cs
+++ b/test/EFCore.Relational.Specification.Tests/PropertyEntryTestBase.cs
@@ -16,7 +16,7 @@ public abstract class PropertyEntryTestBase : IClassFixture
protected TFixture Fixture { get; }
- [ConditionalFact(Skip = "issue #15285")]
+ [ConditionalFact]
public virtual void Property_entry_original_value_is_set()
{
using (var c = CreateF1Context())
diff --git a/test/EFCore.Relational.Specification.Tests/Query/AsyncFromSqlSprocQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/AsyncFromSqlSprocQueryTestBase.cs
deleted file mode 100644
index 4e8b0d9aadf..00000000000
--- a/test/EFCore.Relational.Specification.Tests/Query/AsyncFromSqlSprocQueryTestBase.cs
+++ /dev/null
@@ -1,159 +0,0 @@
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-using System;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.EntityFrameworkCore.Diagnostics;
-using Microsoft.EntityFrameworkCore.Internal;
-using Microsoft.EntityFrameworkCore.TestModels.Northwind;
-using Microsoft.EntityFrameworkCore.TestUtilities;
-using Xunit;
-
-// ReSharper disable InconsistentNaming
-namespace Microsoft.EntityFrameworkCore.Query
-{
- public abstract class AsyncFromSqlSprocQueryTestBase : IClassFixture
- where TFixture : NorthwindQueryRelationalFixture, new()
- {
- protected AsyncFromSqlSprocQueryTestBase(TFixture fixture) => Fixture = fixture;
-
- protected TFixture Fixture { get; }
-
- [ConditionalFact]
- public virtual async Task From_sql_queryable_stored_procedure()
- {
- using (var context = CreateContext())
- {
- var actual = await context
- .Set()
- .FromSqlRaw(TenMostExpensiveProductsSproc, GetTenMostExpensiveProductsParameters())
- .ToArrayAsync();
-
- Assert.Equal(10, actual.Length);
-
- Assert.True(
- actual.Any(
- mep =>
- mep.TenMostExpensiveProducts == "Côte de Blaye"
- && mep.UnitPrice == 263.50m));
- }
- }
-
- [ConditionalFact]
- public virtual async Task From_sql_queryable_stored_procedure_with_parameter()
- {
- using (var context = CreateContext())
- {
- var actual = await context
- .Set()
- .FromSqlRaw(CustomerOrderHistorySproc, GetCustomerOrderHistorySprocParameters())
- .ToArrayAsync();
-
- Assert.Equal(11, actual.Length);
-
- Assert.True(
- actual.Any(
- coh =>
- coh.ProductName == "Aniseed Syrup"
- && coh.Total == 6));
- }
- }
-
- [ConditionalFact(Skip = "Issue #14935. Cannot eval 'where [mep].TenMostExpensiveProducts.Contains(\"C\")'")]
- public virtual async Task From_sql_queryable_stored_procedure_composed()
- {
- using (var context = CreateContext())
- {
- var actual = await context
- .Set()
- .FromSqlRaw(TenMostExpensiveProductsSproc, GetTenMostExpensiveProductsParameters())
- .Where(mep => mep.TenMostExpensiveProducts.Contains("C"))
- .OrderBy(mep => mep.UnitPrice)
- .ToArrayAsync();
-
- Assert.Equal(4, actual.Length);
- Assert.Equal(46.00m, actual.First().UnitPrice);
- Assert.Equal(263.50m, actual.Last().UnitPrice);
- }
- }
-
- [ConditionalFact(Skip = "Issue #14935. Cannot eval 'where [coh].ProductName.Contains(\"C\")'")]
- public virtual async Task From_sql_queryable_stored_procedure_with_parameter_composed()
- {
- using (var context = CreateContext())
- {
- var actual = await context
- .Set()
- .FromSqlRaw(CustomerOrderHistorySproc, GetCustomerOrderHistorySprocParameters())
- .Where(coh => coh.ProductName.Contains("C"))
- .OrderBy(coh => coh.Total)
- .ToArrayAsync();
-
- Assert.Equal(2, actual.Length);
- Assert.Equal(15, actual.First().Total);
- Assert.Equal(21, actual.Last().Total);
- }
- }
-
- [ConditionalFact(Skip = "Issue #14935. Cannot eval 'orderby [mep].UnitPrice desc'")]
- public virtual async Task From_sql_queryable_stored_procedure_take()
- {
- using (var context = CreateContext())
- {
- var actual = await context
- .Set()
- .FromSqlRaw(TenMostExpensiveProductsSproc, GetTenMostExpensiveProductsParameters())
- .OrderByDescending(mep => mep.UnitPrice)
- .Take(2)
- .ToArrayAsync();
-
- Assert.Equal(2, actual.Length);
- Assert.Equal(263.50m, actual.First().UnitPrice);
- Assert.Equal(123.79m, actual.Last().UnitPrice);
- }
- }
-
- [ConditionalFact(Skip = "Issue #14935. Cannot eval 'Min()'")]
- public virtual async Task From_sql_queryable_stored_procedure_min()
- {
- using (var context = CreateContext())
- {
- Assert.Equal(
- 45.60m,
- await context.Set()
- .FromSqlRaw(TenMostExpensiveProductsSproc, GetTenMostExpensiveProductsParameters())
- .MinAsync(mep => mep.UnitPrice));
- }
- }
-
- [ConditionalFact(Skip = "issue #15312")]
- public virtual async Task From_sql_queryable_stored_procedure_with_include_throws()
- {
- using (var context = CreateContext())
- {
- Assert.Equal(
- RelationalStrings.StoredProcedureIncludeNotSupported,
- (await Assert.ThrowsAsync(
- async () =>
- await context.Set()
- .FromSqlRaw("SelectStoredProcedure", GetTenMostExpensiveProductsParameters())
- .Include(p => p.OrderDetails)
- .ToArrayAsync()
- )).Message);
- }
- }
-
- protected virtual object[] GetTenMostExpensiveProductsParameters()
- => Array.Empty