Ich habe zwei entites:Entitätsrahmen (CTP5, Fluent API). Benennen Sie Spalte von Navigationseigenschaft
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; }
}
Unten zuordnen Klassen:
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);
}
}
Wenn Datenbank erzeugt wird, meine ‚Kunde‘ Tabelle hat zwei Spalten für ‚Rechnungsanschrift‘ und " ShippingAddress 'Eigenschaften. Ihre Namen sind 'AddressId' und 'AddressId1'. Frage: Wie kann ich sie in "BillingAddressId" und "ShippingAddressId" umbenennen?
Morteza, noch einmal danken. –
Ich habe die von Ihnen vorgeschlagenen Änderungen vorgenommen. Aber in meiner ersten Post habe ich das Modell vereinfacht. Meine Kundenklasse hat eine weitere Eigenschaft, die eine Liste aller Adressen enthält: "public virtual ICollection
Adressen {get; set;}". und Kundenkonfigurationsklasse (CustomerMap) hat eine weitere Zeile: "this.HasMany (c => c.Addresses) .WithMany() Karte (m => m.ToTable (" CustomerAddresses "));" Jetzt bekomme ich den folgenden Fehler: "Sequenz enthält mehr als ein passendes Element". Irgendwelche Gedanken? –Kein Problem. Ich habe Ihre zusätzlichen Codes kopiert und eingefügt und es funktionierte perfekt für mich, indem ich eine neue Viele-zu-Viele-Verknüpfung zwischen Kunde und Adresse erstellte, sodass ich Ihre Ausnahme nicht reproduzieren kann. Können Sie bitte Ihr komplettes Objektmodell und Ihren Kundencode posten? –