Как переименовать столбцы для таблицы «многие ко многим» с помощью составных ключей, используя сначала код EF CTP5? - PullRequest
2 голосов
/ 19 января 2011

Вот пример с сайта ADO.NET.

Переименование столбцов во многих: многие таблицы:

modelBuilder.Entity<Product>() 
.HasMany(p => p.Tags)
.WithMany(t => t.Products)
.Map(m =>
    {
        m.MapLeftKey(p => p.ProductId, "CustomFkToProductId");
        m.MapRightKey(t => t.TagId, "CustomFkToTagId");
    });

Пожалуйста, дополните этот пример вторым воображаемым ключом (т.е. ProductId2, TagId2) в каждой из таблиц.

1 Ответ

0 голосов
/ 21 января 2011

Для этого вам также нужно сопоставить вторичные столбцы:

modelBuilder.Entity<Product>()
            .HasMany(p => p.Tags)
            .WithMany(t => t.Products) 
            .Map(m => 
            { 
                m.MapLeftKey(p => p.ProductId, "CustomFkToProductId");
                m.MapLeftKey(p => p.ProductId2, "CustomFkToProductId2");
                m.MapRightKey(t => t.TagId, "CustomFkToTagId"); 
                m.MapRightKey(t => t.TagId2, "CustomFkToTagId2"); 
            });
...