예제 #1
0
        public void Pluralization_of_collection_navigations()
        {
            var blogTable = new DatabaseTable {
                Name = "Blog", Columns = { IdColumn }, PrimaryKey = IdPrimaryKey
            };
            var postTable = new DatabaseTable
            {
                Name    = "Post",
                Columns =
                {
                    IdColumn,
                    new DatabaseColumn {
                        Name = "BlogId",StoreType             = "int", IsNullable = true
                    }
                },
                PrimaryKey = IdPrimaryKey
            };

            postTable.ForeignKeys.Add(
                new DatabaseForeignKey
            {
                Table            = postTable,
                PrincipalTable   = blogTable,
                OnDelete         = ReferentialAction.Cascade,
                Columns          = { postTable.Columns.ElementAt(1) },
                PrincipalColumns = { blogTable.Columns.ElementAt(0) }
            });

            var info = new DatabaseModel
            {
                Tables = { blogTable, postTable }
            };

            var factory = new FakeScaffoldingModelFactory(
                new TestOperationReporter(),
                new FakePluralizer());

            var model = factory.Create(info);

            Assert.Collection(
                model.GetEntityTypes().OrderBy(t => t.Name).Cast <EntityType>(),
                entity =>
            {
                Assert.Equal("Blog", entity.Name);
                Assert.Equal("Posts", entity.GetNavigations().Single().Name);
            },
                entity =>
            {
                Assert.Equal("Post", entity.Name);
                Assert.Equal("Blog", entity.GetNavigations().Single().Name);
            }
                );
        }
예제 #2
0
        public void Pluralization_of_entity_and_DbSet()
        {
            var info = new DatabaseModel
            {
                Tables =
                {
                    new DatabaseTable
                    {
                        Name       = "Blog",
                        Columns    = { IdColumn },
                        PrimaryKey = IdPrimaryKey
                    },
                    new DatabaseTable
                    {
                        Name       = "Posts",
                        Columns    = { IdColumn },
                        PrimaryKey = IdPrimaryKey
                    }
                }
            };

            var factory = new FakeScaffoldingModelFactory(
                new TestOperationReporter(),
                new FakePluralizer());

            var model = factory.Create(info);

            Assert.Collection(
                model.GetEntityTypes().OrderBy(t => t.Name).Cast <EntityType>(),
                entity =>
            {
                Assert.Equal("Blog", entity.Relational().TableName);
                Assert.Equal("Blog", entity.Name);
                Assert.Equal("Blogs", entity.Scaffolding().DbSetName);
            },
                entity =>
            {
                Assert.Equal("Posts", entity.Relational().TableName);
                Assert.Equal("Post", entity.Name);
                Assert.Equal("Posts", entity.Scaffolding().DbSetName);
            }
                );

            model = factory.Create(info, true);

            Assert.Collection(
                model.GetEntityTypes().OrderBy(t => t.Name).Cast <EntityType>(),
                entity =>
            {
                Assert.Equal("Blog", entity.Relational().TableName);
                Assert.Equal("Blog", entity.Name);
                Assert.Equal("Blog", entity.Scaffolding().DbSetName);
            },
                entity =>
            {
                Assert.Equal("Posts", entity.Relational().TableName);
                Assert.Equal("Posts", entity.Name);
                Assert.Equal("Posts", entity.Scaffolding().DbSetName);
            }
                );
        }
예제 #3
0
        public RelationalDatabaseModelFactoryTest()
        {
            _reporter = new TestOperationReporter();

            _factory = new FakeScaffoldingModelFactory(_reporter);
        }