Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@ -0,0 +1,42 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace System.Data.Entity.Infrastructure
{
using System.Data.Entity.Utilities;
/// <summary>
/// A key used for resolving <see cref="ExecutionStrategy"/>. It consists of the ADO.NET provider invariant name
/// and the database server address as specified in the connection string.
/// </summary>
public class ExecutionStrategyKey
{
public ExecutionStrategyKey(string invariantProviderName, string dataSource)
{
Check.NotEmpty(invariantProviderName, "invariantProviderName");
Check.NotEmpty(dataSource, "dataSource");
InvariantProviderName = invariantProviderName;
DataSourceName = dataSource;
}
public string InvariantProviderName { get; private set; }
public string DataSourceName { get; private set; }
public override bool Equals(object obj)
{
var otherKey = obj as ExecutionStrategyKey;
if (ReferenceEquals(otherKey, null))
{
return false;
}
return InvariantProviderName == otherKey.InvariantProviderName
&& DataSourceName == otherKey.DataSourceName;
}
public override int GetHashCode()
{
return InvariantProviderName.GetHashCode() ^ DataSourceName.GetHashCode();
}
}
}