J'ai deux ENTITES:Cadre d'entité (CTP5, API Fluent). Renommer la colonne de la propriété de navigation
public class Address
{
public int Id { get; set; }
public string FirstName { get; set;
public string LastName { get; set; }
}
public partial class Customer
{
public int Id { get; set; }
public string Email { get; set; }
public string Username { get; set; }
public virtual Address BillingAddress { get; set; }
public virtual Address ShippingAddress { get; set; }
}
Ci-dessous sont des classes mapping:
public partial class AddressMap : EntityTypeConfiguration<Address>
{
public AddressMap()
{
this.ToTable("Addresses");
this.HasKey(a => a.Id);
}
}
public partial class CustomerMap : EntityTypeConfiguration<Customer>
{
public CustomerMap()
{
this.ToTable("Customer");
this.HasKey(c => c.Id);
this.HasOptional<Address>(c => c.BillingAddress);
this.HasOptional<Address>(c => c.ShippingAddress);
}
}
Lorsque la base de données est générée, ma table 'client' a deux colonnes pour 'billingAddress' et ' Propriétés de ShippingAddress. Leurs noms sont 'AddressId' et 'AddressId1'. Question: comment puis-je les renommer en 'BillingAddressId' et 'ShippingAddressId'?
Morteza, merci encore. –
J'ai fait les changements que vous avez suggérés. Mais dans mon message initial, j'ai simplifié le modèle. Ma classe de client a une propriété supplémentaire contenant une liste de toutes les adresses: "public virtual ICollection
Addresses {get; set;}". Et la classe de configuration client (CustomerMap) a une autre ligne: "this.HasMany (c => c.Addresses) .WithMany(). Map (m => m.ToTable (" CustomerAddresses "));" Maintenant, j'obtiens l'erreur suivante: "La séquence contient plus d'un élément correspondant". Des pensées? –Pas de problème. J'ai copié et collé vos codes supplémentaires et cela a parfaitement fonctionné pour moi en créant une nouvelle association plusieurs-à-plusieurs entre le client et l'adresse, donc je ne peux pas reproduire votre exception. Pouvez-vous s'il vous plaît poster votre modèle d'objet complet et le code client? –