J'essaie d'utiliser l'API Entity Framework CTP5 Fluent pour mapper une base de données existante. J'ai les classes suivantes:Mappage de propriétés à des champs de clé étrangère (nommés différemment) dans Entity Framework CTP5
public class Shop
{
public long Id
{
get;
set;
}
}
public class Sale
{
public long Id
{
get;
set;
}
public virtual Shop Shop
{
get;
set;
}
}
Les tables correspondantes sont appelées "Magasins" et "Ventes". Sales a une clé étrangère StoreId qui pointe vers le champ Id dans la table Stores.
Je n'arrive pas à mapper le Sale.Shop.Id à StoreId dans la table. Je ne suis pas libre de le changer en ShopId, donc j'ai besoin de le mapper.
En CTP4, j'utilisais:
modelBuilder.Entity<Sale>().MapSingleType(x =>
new
{
Id = x.Id,
StoreId = x.Shop.Id
});
J'ai essayé les éléments suivants:
modelBuilder.Entity<Sale>().Property(x => x.Shop.Id).HasColumnName("StoreId");
Cependant, il semble que ce ne fonctionne qu'avec un type primitif.
Comment spécifier ce mappage?
L'attribut 'RelatedTo' est déclaré dans CTP4 et * est supprimé * dans CTP5. Donc ce n'est plus une option. Merci. –