private static IEdmModel BuildModel(IMetadataProvider provider, Uri contextId)
        {
            var builder = new EdmModelBuilder(provider);
            var model = builder.Build(contextId);

            model.Dump();

            return model;
        }
        private static IEdmModel BuildModel(Uri contextId)
        {
            var builder = new EdmModelBuilder(TestMetadataProvider.Instance);
            var model = builder.Build(contextId);

            model.Dump();

            return model;
        }
        private static IDictionary<Uri, IEdmModel> BuildModels(IMetadataProvider provider, params Uri[] identities)
        {
            var models = new Dictionary<Uri, IEdmModel>();
            var builder = new EdmModelBuilder(provider);

            foreach (var identity in identities)
            {
                BoundedContextElement context;
                provider.TryGetMetadata(identity, out context);

                if (context != null)
                {
                    var clrTypes = EmitClrTypes(context);
                    var model = builder.Build(identity).AnnotateByClrTypes(elementId => clrTypes[MetadataIdUtils.AsIdentity(elementId)]);

                    models.Add(identity, model);
                }
            }

            return models;
        }
 public EdmModelWithClrTypesBuilder(EdmModelBuilder edmModelBuilder, EdmxModelBuilder edmxModelBuilder, ODataConnectionFactory connectionFactory)
 {
     _edmModelBuilder = edmModelBuilder;
     _edmxModelBuilder = edmxModelBuilder;
     _connectionFactory = connectionFactory;
 }
        static TestModel()
        {
            BoundedContextElement context = BoundedContextElement.Config
                .Name("Context")
                .ConceptualModel(
                    StructuralModelElement.Config
                    .Types((EnumTypeElement) EnumTypeElement.Config.Name("EnumType").Member("Member1", 0).Member("Member2", 1))
                    .Elements(
                        EntityElement.Config
                            .Name("MasterClass")
                            .HasKey("Id")
                            .Property(EntityPropertyElement.Config.Name("Id").OfType(ElementaryTypeKind.Int32))
                            .Property(EntityPropertyElement.Config.Name("Name").OfType(ElementaryTypeKind.String))
                            .Property(EntityPropertyElement.Config.Name("EnumType").OfType<EnumTypeElement>(EnumTypeElement.Config.Name("EnumType")))
                            .Relation(EntityRelationElement.Config
                                .Name("NestedClass")
                                .DirectTo(
                                    EntityElement.Config
                                        .Name("NestedClass")
                                        .HasKey("Id")
                                        .Property(EntityPropertyElement.Config.Name("Id").OfType(ElementaryTypeKind.Int32))
                                        .Property(EntityPropertyElement.Config.Name("Name").OfType(ElementaryTypeKind.String))
                             )
                             .AsOne())
                    ));

            var provider = CreateProvider(MockSource(context));
            var contextId = context.Identity.Id;

            var edmModelBuilder = new EdmModelBuilder(provider);
            EdmModel = edmModelBuilder.Build(contextId).AnnotateByClrTypes(ClrTypes);
        }