diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj
index 4a1e9a7742..279793b177 100644
--- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj
+++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj
@@ -256,6 +256,9 @@
Microsoft\Data\SqlClient\SqlQueryMetadataCache.cs
+
+ Microsoft\Data\SqlClient\SqlReferenceCollection.cs
+
Microsoft\Data\SqlClient\SqlRowUpdatedEvent.cs
@@ -532,7 +535,6 @@
-
diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj
index d1443d0754..08da4a1629 100644
--- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj
+++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj
@@ -327,6 +327,9 @@
Microsoft\Data\SqlClient\SqlQueryMetadataCache.cs
+
+ Microsoft\Data\SqlClient\SqlReferenceCollection.cs
+
Microsoft\Data\SqlClient\SqlRowUpdatedEvent.cs
@@ -500,7 +503,6 @@
-
diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs
index bb719f3f20..be0456685e 100644
--- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs
+++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs
@@ -708,17 +708,6 @@ internal SqlDataReader FindLiveReader(SqlCommand command)
return reader;
}
- internal SqlCommand FindLiveCommand(TdsParserStateObject stateObj)
- {
- SqlCommand command = null;
- SqlReferenceCollection referenceCollection = (SqlReferenceCollection)ReferenceCollection;
- if (null != referenceCollection)
- {
- command = referenceCollection.FindLiveCommand(stateObj);
- }
- return command;
- }
-
static internal TdsParser GetBestEffortCleanupTarget(SqlConnection connection)
{
if (null != connection)
diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs
deleted file mode 100644
index 552ba0aa3e..0000000000
--- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Diagnostics;
-using Microsoft.Data.ProviderBase;
-
-namespace Microsoft.Data.SqlClient
-{
- sealed internal class SqlReferenceCollection : DbReferenceCollection
- {
- internal const int DataReaderTag = 1;
- internal const int CommandTag = 2;
- internal const int BulkCopyTag = 3;
-
- override public void Add(object value, int tag)
- {
- Debug.Assert(DataReaderTag == tag || CommandTag == tag || BulkCopyTag == tag, "unexpected tag?");
- Debug.Assert(DataReaderTag != tag || value is SqlDataReader, "tag doesn't match object type: SqlDataReader");
- Debug.Assert(CommandTag != tag || value is SqlCommand, "tag doesn't match object type: SqlCommand");
- Debug.Assert(BulkCopyTag != tag || value is SqlBulkCopy, "tag doesn't match object type: SqlBulkCopy");
-
- base.AddItem(value, tag);
- }
-
- internal void Deactivate()
- {
- base.Notify(0);
- }
-
- internal SqlDataReader FindLiveReader(SqlCommand command)
- {
- if (command == null)
- {
- // if null == command, will find first live datareader
- return FindItem(DataReaderTag, (dataReader) => (!dataReader.IsClosed));
- }
- else
- {
- // else will find live datareader assocated with the command
- return FindItem(DataReaderTag, (dataReader) => ((!dataReader.IsClosed) && (command == dataReader.Command)));
- }
- }
-
- // Finds a SqlCommand associated with the given StateObject
- internal SqlCommand FindLiveCommand(TdsParserStateObject stateObj)
- {
- return FindItem(CommandTag, (command) => (command.StateObject == stateObj));
- }
-
- override protected void NotifyItem(int message, int tag, object value)
- {
- Debug.Assert(0 == message, "unexpected message?");
- Debug.Assert(DataReaderTag == tag || CommandTag == tag || BulkCopyTag == tag, "unexpected tag?");
-
- if (tag == DataReaderTag)
- {
- Debug.Assert(value is SqlDataReader, "Incorrect object type");
- var rdr = (SqlDataReader)value;
- if (!rdr.IsClosed)
- {
- rdr.CloseReaderFromConnection();
- }
- }
- else if (tag == CommandTag)
- {
- Debug.Assert(value is SqlCommand, "Incorrect object type");
- ((SqlCommand)value).OnConnectionClosed();
- }
- else if (tag == BulkCopyTag)
- {
- Debug.Assert(value is SqlBulkCopy, "Incorrect object type");
- ((SqlBulkCopy)value).OnConnectionClosed();
- }
- }
-
- override public void Remove(object value)
- {
- Debug.Assert(value is SqlDataReader || value is SqlCommand || value is SqlBulkCopy, "SqlReferenceCollection.Remove expected a SqlDataReader or SqlCommand or SqlBulkCopy");
-
- base.RemoveItem(value);
- }
- }
-}
diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs
similarity index 100%
rename from src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs
rename to src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs