private IEdmAssociationEnd ComputeTo() { string toRole = this.navigationProperty.ToRole; string fromRole = this.navigationProperty.FromRole; this.Model.SetAssociationEndName(this, fromRole); IEdmAssociation association = this.Association; if (toRole == fromRole) { return(new BadCsdlSemanticsNavigationPropertyToEnd(association, toRole, new EdmError[] { new EdmError(this.Location, EdmErrorCode.BadNavigationProperty, Microsoft.Data.Edm.Strings.EdmModel_Validator_Semantic_BadNavigationPropertyRolesCannotBeTheSame(this.Name)) })); } if (association.End1.Name == toRole) { return(association.End1); } else if (association.End2.Name == toRole) { return(association.End2); } else { return(new BadCsdlSemanticsNavigationPropertyToEnd( this.Association, toRole, new EdmError[] { new EdmError(this.Location, EdmErrorCode.BadNavigationProperty, Microsoft.Data.Edm.Strings.EdmModel_Validator_Semantic_BadNavigationPropertyUndefinedRole(this.Name, toRole, association.Name)) })); } }
private IEdmAssociationEnd ComputeTo() { string toRole = this.navigationProperty.ToRole; string fromRole = this.navigationProperty.FromRole; this.Model.SetAssociationEndName(this, fromRole); IEdmAssociation association = this.Association; if (toRole != fromRole) { if (association.End1.Name != toRole) { if (association.End2.Name != toRole) { EdmError[] edmError = new EdmError[1]; edmError[0] = new EdmError(base.Location, EdmErrorCode.BadNavigationProperty, Strings.EdmModel_Validator_Semantic_BadNavigationPropertyUndefinedRole(this.Name, toRole, association.Name)); return(new CsdlSemanticsNavigationProperty.BadCsdlSemanticsNavigationPropertyToEnd(this.Association, toRole, edmError)); } else { return(association.End2); } } else { return(association.End1); } } else { EdmError[] edmErrorArray = new EdmError[1]; edmErrorArray[0] = new EdmError(base.Location, EdmErrorCode.BadNavigationProperty, Strings.EdmModel_Validator_Semantic_BadNavigationPropertyRolesCannotBeTheSame(this.Name)); return(new CsdlSemanticsNavigationProperty.BadCsdlSemanticsNavigationPropertyToEnd(association, toRole, edmErrorArray)); } }
private IEdmAssociation ComputeAssociation() { CsdlSemanticsElement csdlSemanticsElement; CsdlSemanticsElement csdlSemanticsElement1; IEnumerable <IEdmDirectValueAnnotation> directValueAnnotations; IEdmAssociation edmAssociation = this.declaringType.Context.FindAssociation(this.navigationProperty.Relationship); IEdmAssociation unresolvedAssociation = edmAssociation; if (edmAssociation == null) { unresolvedAssociation = new UnresolvedAssociation(this.navigationProperty.Relationship, base.Location); } IEdmAssociation edmAssociation1 = unresolvedAssociation; this.Model.SetAssociationNamespace(this, edmAssociation1.Namespace); this.Model.SetAssociationName(this, edmAssociation1.Name); CsdlSemanticsAssociation csdlSemanticsAssociation = edmAssociation1 as CsdlSemanticsAssociation; CsdlSemanticsAssociationEnd end1 = edmAssociation1.End1 as CsdlSemanticsAssociationEnd; CsdlSemanticsAssociationEnd end2 = edmAssociation1.End2 as CsdlSemanticsAssociationEnd; if (csdlSemanticsAssociation != null && end1 != null && end2 != null) { CsdlSemanticsModel model = this.Model; CsdlSemanticsNavigationProperty csdlSemanticsNavigationProperty = this; IEnumerable <IEdmDirectValueAnnotation> edmDirectValueAnnotations = csdlSemanticsAssociation.DirectValueAnnotations; if (this.navigationProperty.FromRole == end1.Name) { csdlSemanticsElement = end1; } else { csdlSemanticsElement = end2; } IEnumerable <IEdmDirectValueAnnotation> directValueAnnotations1 = csdlSemanticsElement.DirectValueAnnotations; if (this.navigationProperty.FromRole == end1.Name) { csdlSemanticsElement1 = end2; } else { csdlSemanticsElement1 = end1; } IEnumerable <IEdmDirectValueAnnotation> edmDirectValueAnnotations1 = csdlSemanticsElement1.DirectValueAnnotations; if (edmAssociation1.ReferentialConstraint != null) { directValueAnnotations = edmAssociation1.ReferentialConstraint.DirectValueAnnotations; } else { directValueAnnotations = Enumerable.Empty <IEdmDirectValueAnnotation>(); } model.SetAssociationAnnotations(csdlSemanticsNavigationProperty, edmDirectValueAnnotations, directValueAnnotations1, edmDirectValueAnnotations1, directValueAnnotations); } return(edmAssociation1); }
private IEdmAssociation ComputeElementType() { IEdmAssociation edmAssociation = this.context.Context.FindAssociation(this.associationSet.Association); IEdmAssociation unresolvedAssociation = edmAssociation; if (edmAssociation == null) { unresolvedAssociation = new UnresolvedAssociation(this.associationSet.Association, base.Location); } return(unresolvedAssociation); }
internal static IEdmAssociation CreateAmbiguousAssociationBinding(IEdmAssociation first, IEdmAssociation second) { AmbiguousAssociationBinding binding = first as AmbiguousAssociationBinding; if (binding != null) { binding.AddBinding(second); return(binding); } return(new AmbiguousAssociationBinding(first, second)); }
public BadAssociationEnd(IEdmAssociation declaringAssociation, string role, IEnumerable<EdmError> errors) : base(errors) { this.type = new Cache<BadAssociationEnd, BadEntityType>(); string str = role; string empty = str; if (str == null) { empty = string.Empty; } this.role = empty; this.declaringAssociation = declaringAssociation; }
internal static IEdmAssociation CreateAmbiguousAssociationBinding(IEdmAssociation first, IEdmAssociation second) { var ambiguous = first as AmbiguousAssociationBinding; if (ambiguous != null) { ambiguous.AddBinding(second); return(ambiguous); } return(new AmbiguousAssociationBinding(first, second)); }
public BadAssociationEnd(IEdmAssociation declaringAssociation, string role, IEnumerable <EdmError> errors) : base(errors) { this.type = new Cache <BadAssociationEnd, BadEntityType>(); string str = role; string empty = str; if (str == null) { empty = string.Empty; } this.role = empty; this.declaringAssociation = declaringAssociation; }
public IEnumerable <CsdlSemanticsAssociationSet> FindAssociationSets(IEdmAssociation association) { IEnumerable <CsdlSemanticsAssociationSet> csdlSemanticsAssociationSets = null; if (this.AssociationSetMappings.TryGetValue(association, out csdlSemanticsAssociationSets)) { return(csdlSemanticsAssociationSets); } else { return(null); } }
private IEdmAssociation ComputeAssociation() { IEdmAssociation association = this.declaringType.Context.FindAssociation(this.navigationProperty.Relationship) ?? new UnresolvedAssociation(this.navigationProperty.Relationship, this.Location); this.Model.SetAssociationNamespace(this, association.Namespace); this.Model.SetAssociationName(this, association.Name); CsdlSemanticsAssociation csdlAssociation = association as CsdlSemanticsAssociation; CsdlSemanticsAssociationEnd end1 = association.End1 as CsdlSemanticsAssociationEnd; CsdlSemanticsAssociationEnd end2 = association.End2 as CsdlSemanticsAssociationEnd; if (csdlAssociation != null && end1 != null && end2 != null) { this.Model.SetAssociationAnnotations( this, csdlAssociation.DirectValueAnnotations, (this.navigationProperty.FromRole == end1.Name ? end1 : end2).DirectValueAnnotations, (this.navigationProperty.FromRole == end1.Name ? end2 : end1).DirectValueAnnotations, association.ReferentialConstraint != null ? association.ReferentialConstraint.DirectValueAnnotations : Enumerable.Empty <IEdmDirectValueAnnotation>()); } return(association); }
private IEdmAssociationEnd ComputeFrom() { IEdmAssociation association = this.Association; string fromRole = this.navigationProperty.FromRole; if (association.End1.Name != fromRole) { if (association.End2.Name != fromRole) { EdmError[] edmError = new EdmError[1]; edmError[0] = new EdmError(base.Location, EdmErrorCode.BadNavigationProperty, Strings.EdmModel_Validator_Semantic_BadNavigationPropertyUndefinedRole(this.Name, fromRole, association.Name)); return(new CsdlSemanticsNavigationProperty.BadCsdlSemanticsNavigationPropertyToEnd(this.Association, fromRole, edmError)); } else { return(association.End2); } } else { return(association.End1); } }
private IEdmAssociationEnd ComputeFrom() { IEdmAssociation association = this.Association; string fromRole = this.navigationProperty.FromRole; if (association.End1.Name == fromRole) { return(association.End1); } else if (association.End2.Name == fromRole) { return(association.End2); } else { return(new BadCsdlSemanticsNavigationPropertyToEnd( this.Association, fromRole, new EdmError[] { new EdmError(this.Location, EdmErrorCode.BadNavigationProperty, Microsoft.Data.Edm.Strings.EdmModel_Validator_Semantic_BadNavigationPropertyUndefinedRole(this.Name, fromRole, association.Name)) })); } }
public BadCsdlSemanticsNavigationPropertyToEnd(IEdmAssociation declaringAssociation, string role, IEnumerable<EdmError> errors) : base(declaringAssociation, role, errors) { }
public BadCsdlSemanticsNavigationPropertyToEnd(IEdmAssociation declaringAssociation, string role, IEnumerable <EdmError> errors) : base(declaringAssociation, role, errors) { }
public BadAssociationEnd(IEdmAssociation declaringAssociation, string role, IEnumerable<EdmError> errors) : base(errors) { this.role = role ?? string.Empty; this.declaringAssociation = declaringAssociation; }
public IEnumerable <CsdlSemanticsAssociationSet> FindAssociationSets(IEdmAssociation association) { IEnumerable <CsdlSemanticsAssociationSet> result; return(this.AssociationSetMappings.TryGetValue(association, out result) ? result : null); }
public UnresolvedAssociationEnd(IEdmAssociation declaringAssociation, string role, EdmLocation location) : base(declaringAssociation, role, new EdmError[] { new EdmError(location, EdmErrorCode.BadNonComputableAssociationEnd, Edm.Strings.Bad_UncomputableAssociationEnd(role)) }) { }
public UnresolvedAssociationEnd(IEdmAssociation declaringAssociation, string role, EdmLocation location) : base(declaringAssociation, role, new EdmError[] { new EdmError(location, EdmErrorCode.BadNonComputableAssociationEnd, Strings.Bad_UncomputableAssociationEnd(role)) }) { }
public IEnumerable<CsdlSemanticsAssociationSet> FindAssociationSets(IEdmAssociation association) { IEnumerable<CsdlSemanticsAssociationSet> result; return this.AssociationSetMappings.TryGetValue(association, out result) ? result : null; }
public BadAssociationEnd(IEdmAssociation declaringAssociation, string role, IEnumerable <EdmError> errors) : base(errors) { this.role = role ?? string.Empty; this.declaringAssociation = declaringAssociation; }
public IEnumerable<CsdlSemanticsAssociationSet> FindAssociationSets(IEdmAssociation association) { IEnumerable<CsdlSemanticsAssociationSet> csdlSemanticsAssociationSets = null; if (this.AssociationSetMappings.TryGetValue(association, out csdlSemanticsAssociationSets)) { return csdlSemanticsAssociationSets; } else { return null; } }
internal static IEdmAssociation CreateAmbiguousAssociationBinding(IEdmAssociation first, IEdmAssociation second) { AmbiguousAssociationBinding binding = first as AmbiguousAssociationBinding; if (binding != null) { binding.AddBinding(second); return binding; } return new AmbiguousAssociationBinding(first, second); }