Example #1
0
        public static IEntitySet GetEntitySetOrThrow(this IModelContext context, string name)
        {
            IEntitySet entitySet;

            if (context.TryGetEntitySet(name, out entitySet))
            {
                return(entitySet);
            }

            throw new KeyNotFoundException("Entity set not found: " + name);
        }
        public static bool TryGetNavigationPropertyTarget(
            this INavigationProperty navigationProperty,
            IModelContext context,
            IEntitySet navigationRoot,
            out IEntitySet navigationTarget)
        {
            if (navigationProperty.IsContained())
            {
                throw new ArgumentException("Only uncontained navigation properties can have a navigation target.");
            }

            var edmNavigationTarget = navigationRoot.ResultingEdmType.FindNavigationTarget(navigationProperty.ResultingEdmType);

            if (edmNavigationTarget != null)
            {
                if (context.TryGetEntitySet(edmNavigationTarget.Name, out navigationTarget))
                {
                    return(true);
                }
            }

            navigationTarget = null;
            return(false);
        }