Exemple #1
0
        public void Create_factory_method_sets_properties_and_seals_the_type()
        {
            var entityType = new EntityType("E", "N", DataSpace.CSpace);

            var entitySet =
                EntitySet.Create(
                    "EntitySet",
                    "dbo",
                    "tblEntities",
                    "definingQuery",
                    entityType,
                    new[]
            {
                new MetadataProperty(
                    "TestProperty",
                    TypeUsage.CreateDefaultTypeUsage(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)),
                    "value")
            });

            Assert.Equal("EntitySet", entitySet.Name);
            Assert.Equal("dbo", entitySet.Schema);
            Assert.Equal("tblEntities", entitySet.Table);
            Assert.Equal("definingQuery", entitySet.DefiningQuery);
            Assert.Same(entityType, entitySet.ElementType);

            var metadataProperty = entitySet.MetadataProperties.SingleOrDefault(p => p.Name == "TestProperty");

            Assert.NotNull(metadataProperty);
            Assert.Equal("value", metadataProperty.Value);

            Assert.True(entitySet.IsReadOnly);
        }
        public void Cannot_add_entity_set_to_readonly_container()
        {
            var entityContainer = new EntityContainer("Container", DataSpace.CSpace);
            var entityType      = new EntityType("E", "N", DataSpace.CSpace);
            var typeUsage       = TypeUsage.CreateDefaultTypeUsage(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String));
            var entitySet       = EntitySet.Create("S", "dbo", "T", "Q", entityType, new[] { new MetadataProperty("P", typeUsage, "V") });

            entityContainer.SetReadOnly();

            Assert.Equal(
                Resources.Strings.OperationOnReadOnlyItem,
                Assert.Throws <InvalidOperationException>(() => entityContainer.AddEntitySetBase(entitySet)).Message);
        }
        public void Can_add_entity_set_to_container()
        {
            var entityContainer = new EntityContainer("Container", DataSpace.CSpace);
            var entityType      = new EntityType("E", "N", DataSpace.CSpace);
            var typeUsage       = TypeUsage.CreateDefaultTypeUsage(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String));
            var entitySet       = EntitySet.Create("S", "dbo", "T", "Q", entityType, new[] { new MetadataProperty("P", typeUsage, "V") });

            Assert.Equal(0, entityContainer.EntitySets.Count);
            Assert.Null(entitySet.EntityContainer);

            entityContainer.AddEntitySetBase(entitySet);

            Assert.Equal(1, entityContainer.EntitySets.Count);
            Assert.Same(entitySet, entityContainer.EntitySets.Single());
            Assert.Same(entityContainer, entitySet.EntityContainer);
        }