Tengo dos ENTIDADES:Entity framework (CTP5, Fluent API). Cambiar el nombre de la columna de propiedad de navegación
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; }
}
A continuación se presentan mapeo de clases:
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);
}
}
Cuando se genera la base de datos, mi mesa 'Cliente' tiene dos columnas para 'BillingAddress' y ' Las propiedades de ShippingAddress '. Sus nombres son 'AddressId' y 'AddressId1'. Pregunta: ¿cómo puedo cambiarles el nombre a 'BillingAddressId' y 'ShippingAddressId'?
Morteza, gracias de nuevo. –
He realizado los cambios que sugirió. Pero en mi publicación inicial simplifiqué el modelo. Mi clase de cliente tiene una propiedad más que contiene una lista de todas las direcciones: "public virtual ICollection
Addresses {get; set;}". Y la clase de configuración del cliente (CustomerMap) tiene una línea más: "this.HasMany (c => c.Addresses) .WithMany(). Map (m => m.ToTable (" CustomerAddresses "));" Ahora recibo el siguiente error: "La secuencia contiene más de un elemento coincidente". ¿Alguna idea? –No hay problema. He copiado y pegado sus códigos adicionales y funcionó perfectamente para mí al crear una nueva asociación de muchos a muchos entre Cliente y Dirección, por lo que no puedo reproducir su excepción. ¿Puede publicar su modelo de objeto completo y el código de cliente? –