//---------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner jeffreed
// @backupOwner anpete
//---------------------------------------------------------------------
using System;
using System.Data.Objects.DataClasses;
using System.Collections.Generic;
namespace System.Data.EntityModel.SchemaObjectModel
{
///
/// Abstracts the properties of a relationship element
///
internal interface IRelationship
{
///
/// Name of the Relationship
///
string Name { get; }
string FQName { get; }
///
/// The list of ends defined in the Relationship.
///
IList Ends { get; }
///
/// Returns the list of constraints on this relation
///
IList Constraints { get; }
///
/// Finds an end given the roleName
///
/// The role name of the end you want to find
/// The relationship end reference to set if the end is found
/// True if the end was found, and the passed in reference was set, False otherwise.
bool TryGetEnd( string roleName, out IRelationshipEnd end );
///
/// Is this an Association, or ...
///
RelationshipKind RelationshipKind { get; }
///
/// Is this a foreign key (FK) relationship?
///
bool IsForeignKey { get; }
}
}