Example #1
0
        public void Entities_indexes_can_be_obtained_from_compiled_model()
        {
            var compiledModel = new _OneTwoThreeContextModel();

            var indexes = compiledModel.EntityTypes.First().Indexes;

            Assert.Equal(2, indexes.Count);
            Assert.Equal(new[] { "Goo1" }, indexes[0].Properties.Select(p => p.Name));
            Assert.False(indexes[0].IsUnique);
            Assert.Equal(new[] { "Foo1", "Goo1" }, indexes[1].Properties.Select(p => p.Name));
            Assert.True(indexes[1].IsUnique);
        }
        public void Entities_indexes_can_be_obtained_from_compiled_model()
        {
            var compiledModel = new _OneTwoThreeContextModel();

            var indexes = compiledModel.EntityTypes.First().GetIndexes().ToList();

            Assert.Equal(2, indexes.Count);
            Assert.Equal(new[] { "Goo1" }, indexes[0].Properties.Select(p => p.Name));
            Assert.False(indexes[0].IsUnique);
            Assert.Equal(new[] { "Foo1", "Goo1" }, indexes[1].Properties.Select(p => p.Name));
            Assert.True(indexes[1].IsUnique);
        }
Example #3
0
        public void Entities_properties_and_annotations_can_be_obtained_from_compiled_model()
        {
            var compiledModel = new _OneTwoThreeContextModel();
            var builtModel    = BuildModel();

            Assert.True(
                compiledModel.Annotations.Select(a => a.Name)
                .SequenceEqual(builtModel.Annotations.Select(a => a.Name)));
            Assert.True(
                compiledModel.Annotations.Select(a => a.Value)
                .SequenceEqual(builtModel.Annotations.Select(a => a.Value)));

            Assert.True(
                compiledModel.EntityTypes.Select(e => e.Name)
                .SequenceEqual(builtModel.EntityTypes.Select(a => a.Name)));
            Assert.True(
                compiledModel.EntityTypes.Select(e => e.StorageName)
                .SequenceEqual(builtModel.EntityTypes.Select(a => a.StorageName)));
            Assert.True(
                compiledModel.EntityTypes.Select(e => e.Type)
                .SequenceEqual(builtModel.EntityTypes.Select(a => a.Type)));

            Assert.True(
                compiledModel.EntityTypes.First().GetKey().Properties.Select(p => p.Name)
                .SequenceEqual(builtModel.EntityTypes.First().GetKey().Properties.Select(p => p.Name)));

            Assert.True(
                compiledModel.EntityTypes.First().Properties.Select(p => p.Name)
                .SequenceEqual(builtModel.EntityTypes.First().Properties.Select(p => p.Name)));
            Assert.True(
                compiledModel.EntityTypes.First().Properties.Select(p => p.StorageName)
                .SequenceEqual(builtModel.EntityTypes.First().Properties.Select(p => p.StorageName)));
            Assert.True(
                compiledModel.EntityTypes.First().Properties.Select(p => p.PropertyType)
                .SequenceEqual(builtModel.EntityTypes.First().Properties.Select(p => p.PropertyType)));

            Assert.True(
                compiledModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Name)
                .SequenceEqual(builtModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Name)));
            Assert.True(
                compiledModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Value)
                .SequenceEqual(builtModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Value)));

            Assert.True(
                compiledModel.EntityTypes.First().Properties.SelectMany(p => p.Annotations).Select(p => p.Name)
                .SequenceEqual(builtModel.EntityTypes.First().Properties.SelectMany(p => p.Annotations).Select(p => p.Name)));
            Assert.True(
                compiledModel.EntityTypes.First().Properties.SelectMany(p => p.Annotations).Select(p => p.Value)
                .SequenceEqual(builtModel.EntityTypes.First().Properties.SelectMany(p => p.Annotations).Select(p => p.Value)));
        }
        public void Entities_properties_and_annotations_can_be_obtained_from_compiled_model()
        {
            var compiledModel = new _OneTwoThreeContextModel();
            var builtModel = BuildModel();

            Assert.True(
                compiledModel.Annotations.Select(a => a.Name)
                    .SequenceEqual(builtModel.Annotations.Select(a => a.Name)));
            Assert.True(
                compiledModel.Annotations.Select(a => a.Value)
                    .SequenceEqual(builtModel.Annotations.Select(a => a.Value)));

            Assert.True(
                compiledModel.EntityTypes.Select(e => e.Name)
                    .SequenceEqual(builtModel.EntityTypes.Select(a => a.Name)));
            Assert.True(
                compiledModel.EntityTypes.Select(e => e.ClrType)
                    .SequenceEqual(builtModel.EntityTypes.Select(a => a.ClrType)));

            Assert.True(
                compiledModel.EntityTypes.First().GetPrimaryKey().Properties.Select(p => p.Name)
                    .SequenceEqual(builtModel.EntityTypes.First().GetPrimaryKey().Properties.Select(p => p.Name)));

            Assert.True(
                compiledModel.EntityTypes.First().GetProperties().Select(p => p.Name)
                    .SequenceEqual(builtModel.EntityTypes.First().GetProperties().Select(p => p.Name)));
            Assert.True(
                compiledModel.EntityTypes.First().GetProperties().Select(p => p.ClrType)
                    .SequenceEqual(builtModel.EntityTypes.First().GetProperties().Select(p => p.ClrType)));

            Assert.True(
                compiledModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Name)
                    .SequenceEqual(builtModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Name)));

            Assert.True(
                compiledModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Value)
                    .SequenceEqual(builtModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Value)));

//            Assert.True(
//                compiledModel.EntityTypes.First().GetProperties().SelectMany(p => p.Annotations).Select(p => p.Name)
//                    .SequenceEqual(builtModel.EntityTypes.First().GetProperties().SelectMany(p => p.Annotations).Select(p => p.Name)));
//
//            Assert.True(
//                compiledModel.EntityTypes.First().GetProperties().SelectMany(p => p.Annotations).Select(p => p.Value)
//                    .SequenceEqual(builtModel.EntityTypes.First().GetProperties().SelectMany(p => p.Annotations).Select(p => p.Value)));

            Assert.Equal(compiledModel.EntityTypes.Select(e => compiledModel.GetReferencingForeignKeys(e).Select(fk => fk.EntityType.Name)),
                builtModel.EntityTypes.Select(e => builtModel.GetReferencingForeignKeys(e).Select(fk => fk.EntityType.Name)));
        }
        public void Entities_properties_and_annotations_can_be_obtained_from_compiled_model()
        {
            var compiledModel = new _OneTwoThreeContextModel();
            var builtModel    = BuildModel();

            Assert.True(
                compiledModel.Annotations.Select(a => a.Name)
                .SequenceEqual(builtModel.Annotations.Select(a => a.Name)));
            Assert.True(
                compiledModel.Annotations.Select(a => a.Value)
                .SequenceEqual(builtModel.Annotations.Select(a => a.Value)));

            Assert.True(
                compiledModel.EntityTypes.Select(e => e.Name)
                .SequenceEqual(builtModel.EntityTypes.Select(a => a.Name)));
            Assert.True(
                compiledModel.EntityTypes.Select(e => e.ClrType)
                .SequenceEqual(builtModel.EntityTypes.Select(a => a.ClrType)));

            Assert.True(
                compiledModel.EntityTypes.First().GetPrimaryKey().Properties.Select(p => p.Name)
                .SequenceEqual(builtModel.EntityTypes.First().GetPrimaryKey().Properties.Select(p => p.Name)));

            Assert.True(
                compiledModel.EntityTypes.First().GetProperties().Select(p => p.Name)
                .SequenceEqual(builtModel.EntityTypes.First().GetProperties().Select(p => p.Name)));
            Assert.True(
                compiledModel.EntityTypes.First().GetProperties().Select(p => p.ClrType)
                .SequenceEqual(builtModel.EntityTypes.First().GetProperties().Select(p => p.ClrType)));

            Assert.True(
                compiledModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Name)
                .SequenceEqual(builtModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Name)));

            Assert.True(
                compiledModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Value)
                .SequenceEqual(builtModel.EntityTypes.SelectMany(p => p.Annotations).Select(p => p.Value)));

//            Assert.True(
//                compiledModel.EntityTypes.First().GetProperties().SelectMany(p => p.Annotations).Select(p => p.Name)
//                    .SequenceEqual(builtModel.EntityTypes.First().GetProperties().SelectMany(p => p.Annotations).Select(p => p.Name)));
//
//            Assert.True(
//                compiledModel.EntityTypes.First().GetProperties().SelectMany(p => p.Annotations).Select(p => p.Value)
//                    .SequenceEqual(builtModel.EntityTypes.First().GetProperties().SelectMany(p => p.Annotations).Select(p => p.Value)));

            Assert.Equal(compiledModel.EntityTypes.Select(e => compiledModel.GetReferencingForeignKeys(e).Select(fk => fk.EntityType.Name)),
                         builtModel.EntityTypes.Select(e => builtModel.GetReferencingForeignKeys(e).Select(fk => fk.EntityType.Name)));
        }