536cd135cc
Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
59 lines
2.1 KiB
C#
59 lines
2.1 KiB
C#
//---------------------------------------------------------------------
|
|
// <copyright file="AssociationEndMember.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//
|
|
// @owner Microsoft
|
|
// @backupOwner Microsoft
|
|
//---------------------------------------------------------------------
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Data.Objects.DataClasses;
|
|
|
|
namespace System.Data.Metadata.Edm
|
|
{
|
|
/// <summary>
|
|
/// Represents a end of a Association Type
|
|
/// </summary>
|
|
public sealed class AssociationEndMember : RelationshipEndMember
|
|
{
|
|
#region Constructors
|
|
/// <summary>
|
|
/// Initializes a new instance of AssociationEndMember
|
|
/// </summary>
|
|
/// <param name="name">name of the association end member</param>
|
|
/// <param name="endRefType">Ref type that this end refers to </param>
|
|
/// <param name="multiplicity">multiplicity of the end</param>
|
|
internal AssociationEndMember(string name,
|
|
RefType endRefType,
|
|
RelationshipMultiplicity multiplicity)
|
|
: base(name, endRefType, multiplicity)
|
|
{
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// Returns the kind of the type
|
|
/// </summary>
|
|
public override BuiltInTypeKind BuiltInTypeKind { get { return BuiltInTypeKind.AssociationEndMember; } }
|
|
|
|
private Func<RelationshipManager, RelatedEnd, RelatedEnd> _getRelatedEndMethod = null;
|
|
|
|
/// <summary>cached dynamic method to set a CLR property value on a CLR instance</summary>
|
|
internal Func<RelationshipManager, RelatedEnd, RelatedEnd> GetRelatedEnd
|
|
{
|
|
get { return _getRelatedEndMethod; }
|
|
set
|
|
{
|
|
System.Diagnostics.Debug.Assert(null != value, "clearing GetRelatedEndMethod");
|
|
// It doesn't matter which delegate wins, but only one should be jitted
|
|
Interlocked.CompareExchange(ref _getRelatedEndMethod, value, null);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|