J'ai un problème avec les tables qui ont des clés étrangères à d'autres tables dans un schéma différent. Par exemple, TableA dans SchemaA a une clé étrangère à TableB dans SchemaB. Lorsque CTP4 crée la base de données, au lieu de créer une clé étrangère de TA à TB, il crée une troisième table "TableA_TableB" avec les colonnes TableA_ID et TableB_ID comme si elle pensait que ce devrait être une relation plusieurs à plusieurs.Entity Framework CTP4 - Les mappages de clés étrangères sur les schémas ne fonctionnent pas correctement. Punaise?
public class TableA
{
public int ID { get; set; }
public TableB TableB { get; set; }
}
public class TableB
{
public int ID { get; set; }
}
var builder = new ModelBuilder();
// this works fine - creates only two tables with the correct foreign key
// builder.Entity<TableA>();
// builder.Entity<TableB>();
// this doesn't work - creates a third many-to-many table
builder.Entity<TableA>().MapSingleType()
.ToTable(new StoreTableName("TableA", "SchemaA"));
builder.Entity<TableB>().MapSingleType()
.ToTable(new StoreTableName("TableB", "SchemaB"));
var model = builder.CreateModel();
var store = new DbContext("database", model);
store.Database.DeleteIfExists();
store.Database.Create();
Si je supprime le .ToTable .. du code ci-dessus, il crée les tables correctement.
J'ai essayé de trouver une solution mais je n'ai rien trouvé. Une idée de ce que je fais mal, ou est-ce un bug?
Cela a fait l'affaire! – mjezzi