Ejemplo n.º 1
0
        public static ManyToManyJoinDescription GetManyToManyJoinDescription(this IEdmModel edmModel, IEdmNavigationProperty navigationProperty)
        {
            ManyToManyJoinDescription joinDescription = edmModel.GetAnnotationValue <ManyToManyJoinDescription>(navigationProperty);

            if (joinDescription != null)
            {
                return(joinDescription);
            }

            throw new InvalidOperationException("Add many-to-many annotation for navigation property " + navigationProperty.Name);
        }
Ejemplo n.º 2
0
        public override IEnumerable <(String, String)> GetManyToManyProperties(String tableName)
        {
            IEdmEntityType edmEntityType = OeEdmClrHelper.GetEntitySet(_edmModel, tableName).EntityType();

            foreach (IEdmNavigationProperty navigationProperty in edmEntityType.NavigationProperties())
            {
                if (navigationProperty.ContainsTarget)
                {
                    ManyToManyJoinDescription joinDescription = _edmModel.GetManyToManyJoinDescription(navigationProperty);
                    IEdmEntitySet             targetEntitySet = OeEdmClrHelper.GetEntitySet(_edmModel, joinDescription.TargetNavigationProperty);
                    yield return(navigationProperty.Name, targetEntitySet.Name);
                }
            }
        }
Ejemplo n.º 3
0
 internal static void SetManyToManyJoinDescription(this IEdmModel edmModel, IEdmNavigationProperty navigationProperty, ManyToManyJoinDescription joinDescription)
 {
     edmModel.SetAnnotationValue(navigationProperty, joinDescription);
 }